在JavaScript中替换数组键的最佳方法是什么?

时间:2018-03-22 09:18:42

标签: javascript arrays

这是我的阵列:

data = [{"src": 'a'},
        {'src': 'b'},
        {'src': 'c'}];

但我想改变这样的关键:

data = [{"letter": 'a'},
        {'letter': 'b'},
        {'letter': 'c'}];

5 个答案:

答案 0 :(得分:5)

使用map

var output = data.map( s => ({letter:s.src}) );

<强>演示

var data = [{
    "src": 'a'
  },
  {
    'src': 'b'
  },
  {
    'src': 'c'
  }
];

console.log(data.map(s => ({
  letter: s.src
})));

但如果有多个其他键,您只想从中更改src,那么

var output = data.map( s => {
  if ( s.hasOwnProperty("src") )
  {
     s.letter = s.src;
     delete s.src;   
  }
  return s;
})

<强>演示

var data = [{
    "src": 'a'
  },
  {
    'src': 'b'
  },
  {
    'src2': 'c'
  }
];

var output = data.map(s => {
  if (s.hasOwnProperty("src")) {
    s.letter = s.src;
    delete s.src;
  }
  return s;
})

console.log(output);

答案 1 :(得分:5)

最简单的方法是使用map方法。查看documentation

data.map(function(item) {
    return { letter: item.src };
})

答案 2 :(得分:5)

使用array.map

\r

答案 3 :(得分:2)

var newData = data.map(a=>{"letter":a.src})

答案 4 :(得分:1)

使用map,您可以实现您想要的效果。请注意map会返回一个新数组,并且不会修改现有数组。

data.map((item) => ({ letter: item.src });