将键值对中的一个值设置为数组中的另一个键?

Setting one value in Key value pair to another key in an array?

我有一个数组:

var array1 = [{ make: "John Deere", model: "4030", time:"-KzbzyNy-nh1E3wQY7uz", uid:0, year:"1952" }]

我想获取 "time" 值并将其设置为 "uid" 值。所以,它会变成:

var array1 = [{ make: "John Deere", model: "4030", time:"-KzbzyNy-nh1E3wQY7uz", uid:"-KzbzyNy-nh1E3wQY7uz", year:"1952" }]

如果重复“-KzbzyNy-nh1E3wQY7uz”完全没问题,因为它设置为两个不同的键。

我该怎么做?我是 javascript 的新手,很抱歉这个问题太基础了。

试试这个

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);

遍历数组并通过将时间值传递给 属性 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);

此解决方案适用于任意长度的数组。其他一些解决方案仅在数组长度为 1 且您要修改的对象将始终在数组中时才有效。

此解决方案适用于任意长度的数组(相似对象)。

for(var i = 0; i < array1.length; i++) {
   var current = array1[i];
   current.uid = current.time;
}

我希望我可以选择更多的答案而不是一个。所有这些工作,我不知道它就像将一个值分配给下一个值一样简单。这是我的最终代码:

 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,只是添加了另一个步骤。