合并两个 JSON 数组
合并两个 JSON 数组可以通过 concat()
方法来实现,该方法将两个数组合并,并返回一个新的数组,同时保留原数组的数据不变。示例代码如下:
const arr1 = [{ id: 1, name: 'John' }, { id: 2, name: 'Jane' }];
const arr2 = [{ id: 3, name: 'Bob' }, { id: 2, name: 'Jane' }];
const combinedArr = arr1.concat(arr2);
console.log(combinedArr);
// [ { id: 1, name: 'John' },
// { id: 2, name: 'Jane' },
// { id: 3, name: 'Bob' },
// { id: 2, name: 'Jane' } ]
可以看到,合并后的数组 combinedArr
包含了两个原始数组的所有元素。其中,第二个数组中的 { id: 2, name: 'Jane' }
重复了一次。
去重一个 JSON 数组
去重一个 JSON 数组可以通过新建一个空数组和 forEach()
循环来实现。具体做法是将原数组中每个元素的某一个属性值作为判断条件,如果该属性值在新数组中不存在,则将原数组中的该元素加入新数组中。示例代码如下:
const arr = [
{ id: 1, name: 'John' },
{ id: 2, name: 'Jane' },
{ id: 3, name: 'Bob' },
{ id: 2, name: 'Jane' }
];
const uniqueArr = [];
const ids = [];
arr.forEach(item => {
if (!ids.includes(item.id)) {
uniqueArr.push(item);
ids.push(item.id);
}
});
console.log(uniqueArr);
// [ { id: 1, name: 'John' },
// { id: 2, name: 'Jane' },
// { id: 3, name: 'Bob' } ]
可以看到,去重后的数组 uniqueArr
只包含原数组中不重复的元素。具体做法是通过 includes()
方法判断属性值是否在新数组中已经存在,如果不存在则将其加入新数组中。
删除某一项元素
删除某一项元素可以通过 filter()
方法来实现,该方法会创建一个新数组,其中包含符合条件的元素。具体做法是对原数组进行 filter()
方法,返回不包含需要删除元素的新数组。示例代码如下:
const arr = [
{ id: 1, name: 'John' },
{ id: 2, name: 'Jane' },
{ id: 3, name: 'Bob' },
];
const newArr = arr.filter(item => item.id !== 2);
console.log(newArr);
// [ { id: 1, name: 'John' },
// { id: 3, name: 'Bob' } ]
可以看到,删除元素后的新数组 newArr
不包含原数组中 id
为 2 的元素 { id: 2, name: 'Jane' }
。具体做法是通过 filter()
方法返回不符合删除条件的元素,从而实现删除。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js操作两个json数组合并、去重,以及删除某一项元素 - Python技术站