方法1: forループを使用した方法
function replaceValue(array, searchKey, searchValue, replaceKey, replaceValue) {
for (let i = 0; i < array.length; i++) {
if (array[i][searchKey] === searchValue) {
array[i][replaceKey] = replaceValue;
}
}
}
// 使用例
const data = [
{ id: 1, name: 'John' },
{ id: 2, name: 'Jane' },
{ id: 3, name: 'Bob' }
];
replaceValue(data, 'name', 'Jane', 'name', 'Janet');
console.log(data);
方法2: Array.map()を使用した方法
function replaceValue(array, searchKey, searchValue, replaceKey, replaceValue) {
return array.map(item => {
if (item[searchKey] === searchValue) {
return { ...item, [replaceKey]: replaceValue };
}
return item;
});
}
// 使用例
const data = [
{ id: 1, name: 'John' },
{ id: 2, name: 'Jane' },
{ id: 3, name: 'Bob' }
];
const updatedData = replaceValue(data, 'name', 'Jane', 'name', 'Janet');
console.log(updatedData);
方法3: Array.forEach()を使用した方法
function replaceValue(array, searchKey, searchValue, replaceKey, replaceValue) {
array.forEach(item => {
if (item[searchKey] === searchValue) {
item[replaceKey] = replaceValue;
}
});
}
// 使用例
const data = [
{ id: 1, name: 'John' },
{ id: 2, name: 'Jane' },
{ id: 3, name: 'Bob' }
];
replaceValue(data, 'name', 'Jane', 'name', 'Janet');
console.log(data);
これらの方法は、配列内のオブジェクトを順番に検索し、指定された値と一致する場合に値を置換します。ご参考ください。