国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

js合并數組對象(將數組中具有相同屬性對象合并到一起,組成一個新的數組)

這篇具有很好參考價值的文章主要介紹了js合并數組對象(將數組中具有相同屬性對象合并到一起,組成一個新的數組)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、根據數組對象中某一key值,合并相同key值的字段,到同一個數組對象中,組成新的數組

1.原數組:
var array = [
  { id: 1, name: 'Alice' },
  { id: 2, name: 'Bob' },
  { id: 1, age: 25 },
  { id: 3, name: 'Charlie', age: 30 }
];
2.合并后數組:
var array = [
  { id: 1, name: 'Alice', age: 25  },
  { id: 2, name: 'Bob' },
  { id: 3, name: 'Charlie', age: 30 }
];
3.實現方法:
// 原始數組
var array = [
  { id: 1, name: 'Alice' },
  { id: 2, name: 'Bob' },
  { id: 1, age: 25 },
  { id: 3, name: 'Charlie', age: 30 }
];

// 使用 reduce 方法合并具有相同屬性的對象
var mergedArray = array.reduce(function(result, obj) {
  var target = result.find(function(item) {
    return item.id === obj.id;
  });

  if (target) {
    Object.assign(target, obj);
  } else {
    result.push(obj);
  }

  return result;
}, []);

console.log(mergedArray);
4.測試:

js 對象數組合并,javascript,開發(fā)語言,ecmascript

二、根據數組對象中某一key值,合并相同key值的對象,到同一個對象中,組成新的數組

1.原數組:
let list = [
      {
        name: "張三",
        gender: "張",
        age: "20"
      },
      {
        name: "李四",
        gender: "李",
        age: "25"
      },
      {
        name: "王五",
        gender: "王",
        age: "30"
      },
      {
        name: "張飛",
        gender: "張",
        age: "20"
      },
      {
        name: "李紅",
        gender: "李",
        age: "22"
      }
    ]
2.合并后數組:
let list = [
	{
	  gender: "張",
	  {
        name: "張三",
        gender: "張",
        age: "20"
      },
      {
        name: "張飛",
        gender: "張",
        age: "20"
      }
	},
	{
	 gender: "李",
	 {
        name: "李四",
        gender: "李",
        age: "25"
      },
       {
        name: "李紅",
        gender: "李",
        age: "22"
      }
    },
    {
    	gender: "王",
    	{
        name: "王五",
        gender: "王",
        age: "30"
      },
    }
  ]
3.實現方法一:
let tempArr = [];
let Data = [];
for (let i = 0; i < list.length; i++) {
   if (tempArr.indexOf(list[i].gender) === -1) {
     Data.push({
       gender: list[i].gender,
       dataInfo: [list[i]]
     });
     tempArr.push(list[i].gender);
   } else {
     for (let j = 0; j < Data.length; j++) {
       if (Data[j].gender== list[i].gender) {
         Data[j].dataInfo.push(list[i]);
         break;
       }
     }
   }
 }
 console.log(Data);
測試:

js 對象數組合并,javascript,開發(fā)語言,ecmascript

4.實現方法二:
let dataInfo = {};
list.forEach((item, index) => {
	let { gender } = item;
	if (!dataInfo[gender]) {
		dataInfo[gender] = {
			gender,			
			child: []
		}
	}
	dataInfo[gender].child.push(item);
});
let newList = Object.values(dataInfo); // list 轉換成功的數據
console.log(newList)
測試:

js 對象數組合并,javascript,開發(fā)語言,ecmascript文章來源地址http://www.zghlxwxcb.cn/news/detail-713986.html

到了這里,關于js合并數組對象(將數組中具有相同屬性對象合并到一起,組成一個新的數組)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • java List中相同的數據合并到一起

    java List中相同的數據合并到一起

    運行結果 如果此篇文章有幫助到您, 希望打大佬們能 關注 、 點贊 、 收藏 、 評論 支持一波,非常感謝大家! 如果有不對的地方請指正!!! 參考1

    2024年02月12日
    瀏覽(18)
  • Js:獲取數組對象重復屬性值和數組對象去重

    對象數組去重分為兩類:根據某一屬性去重,和去重完全相同對象(屬性屬性值都相同) 一.數組嵌套對象,根據對象某一屬性去重 二、數組嵌套對象,去重完全相同對象(屬性屬性值都相同) 整理如下: 首先、循環(huán)數組,拿到對象的所有屬性組成的數組; 其次、循環(huán)屬性

    2024年01月21日
    瀏覽(30)
  • js中遍歷對象數組并獲取對象相應的屬性值

    JavaScript中遍歷對象數組的方法有很多種。以下是常見的四種常見的方法: for ?循環(huán), for...of ?循環(huán), forEach ?方法和 map ?方法,在遍歷的同時,通過訪問對象的屬性來獲取相應的值。 ? for ?循環(huán): ? for...of ?循環(huán): ? forEach ?方法: ? map ?方法(通常用于創(chuàng)建一個

    2023年04月25日
    瀏覽(24)
  • JS判斷對象、數組是否包含某個屬性、某個值

    可以使用以下幾種方法來判斷對象是否包含某個屬性: 1. in 操作符: 使用 in 操作符可以檢查對象是否包含指定的屬性。它會檢查對象及其原型鏈上的所有屬性。 2. hasOwnProperty() 方法: hasOwnProperty() 是對象的內置方法,用于檢查對象自身是否具有指定的屬性(不包括原型鏈上

    2024年02月09日
    瀏覽(96)
  • js在數組對象中添加和刪除鍵值對(對象屬性)的方法

    添加 1.Object.assign():用法-Object.assign(源對象, {要添加的鍵值對}) 2.拓展運算符(...):用于取出參數對象所有可遍歷屬性然后拷貝到當前對象 3.object[key] = value:直接給新的key賦值 刪除 1.將屬性設置為 undefined:屬性本身仍將存在于對象中,它還會改變原始對象。 2.使用 delete 操

    2024年02月14日
    瀏覽(29)
  • js判斷一個數組中是否有重復的數組/ 一個數組中對象的某個屬性值是否重復

    js判斷一個數組中是否有重復的數組/ 一個數組中對象的某個屬性值是否重復

    項目中往往會遇到對數組處理是否存在某個形同的值?;蛘邔ο笾惺欠翊嬖谛瓮亍?下列方法常用,但不限于。 一、普通數組數據 1.1對數組進行排序,對比上一個元素和下一個元素是否相等,若相等,則說明數組有重復值。 1.2:先將數組轉換成字符串,再遍歷數組,在字

    2024年02月09日
    瀏覽(42)
  • js修改對象數組中其中某一項屬性值(轉換格式)

    我們對接口渲染數據的時候,經常會遇到后端返給我們數組中某個屬性的格式跟我們想要的不一樣,比如,我們渲染需要 小橋,中橋,大橋,返回的數組 分別用 1,2,3來表示小 中 大橋的 第一種方法呢就是 對數組進行遍歷 第二種方法看如下代碼:?

    2024年02月12日
    瀏覽(18)
  • 華為OD機試 - 相同數字組成圖形的周長(Java & JS & Python)

    華為OD機試 - 相同數字組成圖形的周長(Java & JS & Python)

    題目描述 有一個64×64的矩陣,每個元素的默認值為0,現在向里面填充數字,相同的數字組成一個實心圖形,如下圖所示是矩陣的局部(空白表示填充0): 數字1組成了藍色邊框的實心圖形,數字2組成了紅色邊框的實心圖形。 單元格的邊長規(guī)定為1個單位。 請根據輸入,計算

    2023年04月21日
    瀏覽(42)
  • JavaScript中刪除兩個數組對象中id相同的對象以及根據id刪除數組中對象。

    JavaScript中刪除兩個數組對象中id相同的對象以及根據id刪除數組中對象。

    1. filter方法 定義和用法 filter() 方法創(chuàng)建一個新的數組,新數組中的元素是通過檢查指定數組中符合條件的所有元素。 注意 : filter() 不會對空數組進行檢測。 注意 : filter() 不會改變原始數組。 語法 參數說明 2. some方法 定義和用法 some() 方法用于檢測數組中的元素是否滿足

    2024年02月03日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包