使用js两个消息对象数组比较,获取新消息数组
时间: 2024-10-12 11:18:13 浏览: 18
JS判断两个数组或对象是否相同的方法示例
5星 · 资源好评率100%
当你有两个JavaScript对象数组,想要比较它们并找出哪些是新消息(即在另一个数组中不存在的消息),可以采用以下步骤:
1. 首先,创建一个新的空数组用于存储新消息。
2. 然后,遍历第一个数组(假设为`array1`),对于每个对象检查它是否存在于第二个数组(`array2`)中。这可以通过`Array.prototype.some()`函数结合`JSON.stringify()`来进行,因为我们需要通过字符串形式的对比。
```javascript
const newArray = [];
array1.forEach(message => {
if (!array2.some(otherMessage => JSON.stringify(otherMessage) === JSON.stringify(message))) {
newArray.push(message);
}
});
```
3. `some()`会返回`true`如果找到匹配项,`false`则否。由于我们期望的是`message`不在`array2`中,所以当`some()`返回`false`时,我们知道这是一个新消息,并将其添加到`newArray`。
4. 最后,`newArray`就是只包含新消息的新数组。
阅读全文