下午好,我有一个脚本可以更改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 );