前端把新数组往老数组里面push,重复的值不要
时间: 2024-05-05 20:17:47 浏览: 4
可以使用Array.prototype.filter()方法来过滤重复的值,然后再使用Array.prototype.push()方法把新数组的非重复值加入到老数组中。
示例代码如下:
```
var oldArr = [1, 2, 3, 4, 5];
var newArr = [3, 4, 6, 7, 8];
newArr.filter(function(item) {
return oldArr.indexOf(item) === -1;
}).forEach(function(item) {
oldArr.push(item);
});
console.log(oldArr); // [1, 2, 3, 4, 5, 6, 7, 8]
```
首先,使用filter()方法过滤出newArr中不重复的元素,即在oldArr中不存在的元素。具体实现是通过indexOf()方法判断newArr中的元素在oldArr中是否存在,不存在则返回true,表示需要保留该元素,存在则返回false,表示需要过滤掉该元素。
然后,使用forEach()方法遍历过滤后的新数组,依次将元素加入到老数组中,使用push()方法实现。
最终,打印老数组oldArr,即可得到加入了新数组中不重复元素的完整数组。
相关问题
前端把含有对象的新数组往含有对象老数组里面push,重复的值不要
可以使用forEach方法遍历新数组,然后使用findIndex方法查找老数组中是否已经存在该对象,如果不存在则使用push方法将其添加到老数组中。
代码示例:
```javascript
let oldArray = [{id: 1, name: 'apple'}, {id: 2, name: 'banana'}, {id: 3, name: 'orange'}];
let newArray = [{id: 2, name: 'banana'}, {id: 4, name: 'grape'}, {id: 5, name: 'watermelon'}];
newArray.forEach(item => {
let index = oldArray.findIndex(oldItem => oldItem.id === item.id);
if (index === -1) {
oldArray.push(item);
}
});
console.log(oldArray); // [{id: 1, name: 'apple'}, {id: 2, name: 'banana'}, {id: 3, name: 'orange'}, {id: 4, name: 'grape'}, {id: 5, name: 'watermelon'}]
```
前端数组重新赋新值改变原数组 push方法代码
`push()` 方法可以向数组的末尾添加一个或多个元素,并返回修改后的数组的长度。例如:
```javascript
let arr = [1, 2, 3];
arr.push(4);
console.log(arr); // 输出 [1, 2, 3, 4]
```
上述代码中,我们使用 `push()` 方法向数组 `arr` 的末尾添加了一个元素 `4`,这样就修改了原数组,并返回了修改后的数组长度。
如果要向数组中添加多个元素,可以在 `push()` 方法中传递多个参数。例如:
```javascript
let arr = [1, 2, 3];
arr.push(4, 5);
console.log(arr); // 输出 [1, 2, 3, 4, 5]
```
上述代码中,我们向数组 `arr` 中添加了两个元素 `4` 和 `5`,这样就修改了原数组,并返回了修改后的数组长度。