【问题标题】:Copy data from javascript object and assign them new keys从 javascript 对象复制数据并为其分配新键
【发布时间】:2017-07-12 05:56:18
【问题描述】:

我得到这样的数据

    4706:"APN"
    4743:"Owner Name"
    4754:"Situs Address"
    6231 :"Mailing Address"

在 javascript 对象中。当我将它复制到新对象中时,它会给出相同的输出,而我想用这样的键替换它

    0:"APN"
    1:"Owner Name"
    2:"Situs Address"
    3 :"Mailing Address"

有可能这样做吗?我在 tblheader 中复制这个对象

        tblHeader=features[i].attributes.fields.values;

【问题讨论】:

标签: javascript jquery object javascript-objects


【解决方案1】:

尝试使用Object.values() 方法,它创建值数组。并使用Array#forEach() 迭代数组并附加新对象

var arr = {
  4706: "APN",
  4743: "Owner Name",
  4754: "Situs Address",
  6231: "Mailing Address",
}
var res ={};
Object.values(arr).forEach(function(a,b){
     res[b]=a
})

console.log(res)

【讨论】:

  • 它会保持相同的顺序吗?还是每次都会改?因为我每次都会得到不同的数据并且需要相同的序列。
  • 是的...是同一个序列。 0,1 是对象值的索引
  • 最后一件事,我可以得到对象形式的数组吗? l
  • 是的,使用Object.values(obj)。它返回带有values对象的数组。我添加了带有答案的参考链接
【解决方案2】:

Try this

oldObject = 
{ 
4706:"APN",
4743:"Owner Name",
4754:"Situs Address",
6231 :"Mailing Address" 
};

 newObject = {}
     Object.keys(oldObject).map(function(key, index) {
     newObject[index] = oldObject[key];
  });
console.log(newObject)

【讨论】:

    猜你喜欢
    • 2021-05-07
    • 2020-02-21
    • 1970-01-01
    • 1970-01-01
    • 2022-10-13
    • 1970-01-01
    • 2017-03-19
    • 1970-01-01
    • 2021-12-28
    相关资源
    最近更新 更多