我有一个数组:
var array1 = [{ make: "John Deere", model: "4030", time:"-KzbzyNy-nh1E3wQY7uz", uid:0, year:"1952" }]
我想获取“时间”值并将其设置为“uid”值。所以,它会变成:
var array1 = [{ make: "John Deere", model: "4030", time:"-KzbzyNy-nh1E3wQY7uz", uid:"-KzbzyNy-nh1E3wQY7uz", year:"1952" }]
如果重复“-KzbzyNy-nh1E3wQY7uz”,那就完全没问了,因为它被设置为两个不同的键。
我该怎么做?我是javascript的新手。很抱歉,如果这是一个基本的问题。
答案 0 :(得分:0)
尝试这个
var array1 = [{
make: "John Deere",
model: "4030",
time: "-KzbzyNy-nh1E3wQY7uz",
uid: 0,
year: "1952"
}];
//set it manually using key of array
array1[0]['uid'] = array1[0]['time'];
console.log(array1);

答案 1 :(得分:0)
循环数组并通过将time值传递给属性uid
为每个对象做一个简单的赋值
var array1 = [{
make: "John Deere",
model: "4030",
time: "-KzbzyNy-nh1E3wQY7uz",
uid: 0,
year: "1952"
}];
// o is current array element which is an object
array1.forEach(o => o.uid = o.time);
console.log(array1);
答案 2 :(得分:0)
此解决方案适用于任何长度的数组。其他一些解决方案仅在数组长度为1且您要修改的对象始终位于数组中时才有效。
此解决方案适用于任何长度的数组(类似对象)。
for(var i = 0; i < array1.length; i++) {
var current = array1[i];
current.uid = current.time;
}
答案 3 :(得分:0)
我希望我能选择更多的答案。所有这些工作,我不知道它就像为下一个分配一个值一样容易。这是我的最终代码:
const array2 = [];
array1[0].uid = array1[0].time;
const len = array1.length;
for (let i = 0; i < len4; i++) {
array2.push(array1);
}
console.log(array2);
我可能根本不需要array2,但只是添加了其他步骤。