我正在使用 Node.js,并且我有一个 jsonFile,它允许我创建一个对象:
var dateFile = './Dictionnary/lastUpdate.json';
var dateObj = jsonfile.readFileSync(dateFile);
对象是这个:
var dateObj = {
"l2D": "2018-07-10T08:45:03.000Z",
"CU": "2018-07-10T08:45:03.000Z",
"l2G": "2018-07-10T08:45:03.000Z",
"la1": "2018-07-10T08:45:03.000Z",
"la2": "2018-07-10T08:45:03.000Z",
"lru": "2018-07-10T08:45:03.000Z",
"nu3": "2018-07-10T08:45:03.000Z",
"DictionnaryTime": "2018-07-30T07:59:47.000Z"
}
我想使用如下脚本更新属性的值:
var citiesDictNames = ['CU', 'l2D', 'l2G', 'la1', 'la2', 'lru', 'nu3'];
for (i = 0; i < csvCitiesNames.length; i++) {
newDate = function(...);
var name = citiesDictNames[i];
dateObj.name = newDate;
jsonfile.writeFile(dateFile, dateObj, function(err) {
if (err) {
console.error(err);
} else {
console.log('LastModified Date updated');
}
});
}
但结果是这个对象:
var dateObj = {
"l2D": "2018-07-10T08:45:03.000Z",
"CU": "2018-07-10T08:45:03.000Z",
"l2G": "2018-07-10T08:45:03.000Z",
"la1": "2018-07-10T08:45:03.000Z",
"la2": "2018-07-10T08:45:03.000Z",
"lru": "2018-07-10T08:45:03.000Z",
"nu3": "2018-07-10T08:45:03.000Z",
"DictionnaryTime": "2018-07-30T07:59:47.000Z",
"name": "2018-07-04T16:12:43.000Z",
}
当我用 dateObj.l2D
或其他有效的值替换 dateObj.name
时,但当值位于 arrayList 中时,我不会成功。
最佳答案
只需使用dateObj[name]
访问语法。
关于json - 如何使用数组中存储的属性名称修改 javascript 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51540096/