往数组对象里面push一个新的对象时,判断如果有id相同的就覆盖这个对象
时间: 2023-05-12 22:04:32 浏览: 694
可以使用循环遍历数组,判断每个对象的id是否与新对象相同,如果相同则覆盖,否则将新对象push到数组中。以下是示例代码:
for (let i = 0; i < arr.length; i++) {
if (arr[i].id === newObj.id) {
arr[i] = newObj;
return;
}
}
arr.push(newObj);
注意,这里假设数组中的每个对象都有一个名为id的属性。如果没有id属性或者id属性不唯一,需要根据实际情况进行修改。
相关问题
js写一个判断当前数组对象没有这个对象就插入,有就不插入
可以使用Array.prototype.findIndex方法来查找该对象在数组中的位置,如果返回-1则表示该对象不存在,即可使用Array.prototype.push方法将该对象插入数组中。
示例代码如下:
```javascript
function insertIfNotExist(arr, obj) {
if (arr.findIndex(item => item === obj) === -1) {
arr.push(obj);
}
}
```
调用方式:
```javascript
const arr = [{name: 'Alice'}, {name: 'Bob'}];
insertIfNotExist(arr, {name: 'Charlie'}); // 会插入
insertIfNotExist(arr, {name: 'Bob'}); // 不会插入
console.log(arr); // [{name: 'Alice'}, {name: 'Bob'}, {name: 'Charlie'}]
```
js push 将一个数组对象插入另一个数组对象后面
可以使用 `Array.prototype.push.apply()` 方法将一个数组对象插入到另一个数组对象的后面。
假设有两个数组对象 `arr1` 和 `arr2`,其中 `arr1` 包含若干个元素, `arr2` 包含若干个元素,要将 `arr2` 插入到 `arr1` 的后面,可以使用以下代码:
```javascript
Array.prototype.push.apply(arr1, arr2);
```
这个方法会将 `arr2` 中的元素依次插入到 `arr1` 的末尾。
另外,如果你使用 ES6 或以上版本的 JavaScript,也可以使用展开运算符 `...` 来实现相同的效果:
```javascript
arr1.push(...arr2);
```
这个方法会将 `arr2` 中的元素依次插入到 `arr1` 的末尾。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)