JavaScript/React - 使用数组数组中的特定键名更新数组中的值
JavaScript/React - Update a value in array with particular key name from a array of arrays
在下面的数组数组中,我需要更新特定 name.
的 id 值
objArray = [{ name: John, id: 12}, { name: Jake, id: 45}, { name: Jacob, id: 78}];
例如:如果用户在文本框中输入名称和 ID 并单击提交,我想更新数组中特定名称的 ID。
我可以使用 for 循环来完成此操作,但您能告诉我在 Java Script/React 中执行此操作的最有效方法吗?
使用find
函数并设置输入的名称。
看看这段代码
let objArray = [{ name: "John", id: 12}, { name: "Jake", id: 45}, { name: "Jacob", id: 78}];
let name = 'Jake'
let newId = 59;
objArray.find((o) => o.name === name).id = newId;
console.log(objArray);
.as-console-wrapper {
max-height: 100% !important
}
您可以使用findIndex
来获取名称匹配的对象的索引。然后使用该索引更新 id
var objArray = [{
name: 'John',
id: 12
}, {
name: 'Jake',
id: 45
}, {
name: 'Jacob',
id: 78
}];
function update() {
var getVal = document.getElementById('ip').value.trim();
var getIndex = objArray.findIndex(function(item) {
return item.name.toLowerCase() === getVal.toLowerCase();
})
objArray[getIndex].id= "newId"
console.log(objArray)
}
<input type="text" id="ip">
<button onclick="update()">Update</button>
在下面的数组数组中,我需要更新特定 name.
的 id 值objArray = [{ name: John, id: 12}, { name: Jake, id: 45}, { name: Jacob, id: 78}];
例如:如果用户在文本框中输入名称和 ID 并单击提交,我想更新数组中特定名称的 ID。
我可以使用 for 循环来完成此操作,但您能告诉我在 Java Script/React 中执行此操作的最有效方法吗?
使用find
函数并设置输入的名称。
看看这段代码
let objArray = [{ name: "John", id: 12}, { name: "Jake", id: 45}, { name: "Jacob", id: 78}];
let name = 'Jake'
let newId = 59;
objArray.find((o) => o.name === name).id = newId;
console.log(objArray);
.as-console-wrapper {
max-height: 100% !important
}
您可以使用findIndex
来获取名称匹配的对象的索引。然后使用该索引更新 id
var objArray = [{
name: 'John',
id: 12
}, {
name: 'Jake',
id: 45
}, {
name: 'Jacob',
id: 78
}];
function update() {
var getVal = document.getElementById('ip').value.trim();
var getIndex = objArray.findIndex(function(item) {
return item.name.toLowerCase() === getVal.toLowerCase();
})
objArray[getIndex].id= "newId"
console.log(objArray)
}
<input type="text" id="ip">
<button onclick="update()">Update</button>