在数组json.file中查找匹配元素并将其更改为[node js]



下午好,我有一个脚本可以更改json文件的值

const fsp = require('fs').promises;
async function udpateTimeInFile() {
try {
let data = await fsp.readFile('example.json');
let obj = JSON.parse(data);
obj.number = 777;
await fsp.writeFile('example.json', JSON.stringify(obj));
} catch(e) {
console.log(e);
}
}
udpateTimeInFile();

我需要脚本来找到数组和对象中的第一个数字2数字,并将单位更改为3和我的json

{
"foods": 111,
"numbers": [1, 27, 5, 7, 0, 0, 2, 0, 0],
"surnames": [1, 1, 1, 1, 1, 1, 1, 1, 1],
"date": 0
}

执行js应用程序后,文件将变成这样的

{
"foods": 111,
"numbers": [1, 27, 5, 7, 0, 0, 3, 0, 0],
"surnames": [1, 1, 1, 1, 1, 1, 1, 1, 1],
"date": 0
}

您可以使用Array#findIndex方法查找第一次出现的2的索引,然后使用该索引将值更改为3

演示

const obj = {
"foods": 111,
"numbers": [1, 27, 5, 7, 0, 0, 2, 0, 0],
"surnames": [1, 1, 1, 1, 1, 1, 1, 1, 1],
"date": 0
},
i = obj.numbers.findIndex(num => num === 2);
if (i > -1) {
obj.numbers[i] = 3;
}
console.log( obj );

相关内容

  • 没有找到相关文章

最新更新