asp*_*aga 2 javascript socket.io lodash vue.js
我的变量中有一个 items 对象this.rows。来自服务器的实时项目与this.rows对象集合中的项目相同。
如何用新值替换项目?
下面是一个例子:
let rows = [
{id: 11, active: 'no'},
{id: 22, active: 'yes'},
{id: 33, active: 'no'},
{id: 44, active: 'no'}
]
new_item = {id: 22, active:'yeah'};
rows.forEach(item => {
if (item.id === new_item.id) {
return new_item;
}
});
Run Code Online (Sandbox Code Playgroud)
使用“findIndex”方法在行数组中查找新项目元素的索引。之后,检查是否找到结果(检查索引是否大于 -1)。使用找到的元素的位置将项目分配给数组。
const indexOfItemInArray = rows.findIndex(q => q.id === new_item.id);
if (indexOfItemInArray > -1) {
rows[indexOfItemInArray] = new_item;
}
Run Code Online (Sandbox Code Playgroud)
或者使用“拼接”方法:
const indexOfItemInArray = rows.findIndex(q => q.id === new_item.id);
rows.splice(indexOfItemInArray, 1, new_item);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5892 次 |
| 最近记录: |