javascript:截断数组中的对象属性

时间:2015-07-30 15:32:46

标签: javascript arrays object

我有一个对象数组,比如说对象如下:

var row = {
    data: 'test',
   text: 'test'
};

我想循环遍历数组,只需使用text属性获取对象。 最好的方法是什么? 所以,我想循环,对象应该是这样的:row = {text: 'test'}

我没有运气就尝试过类似的事情:

arr.forEach(function (item){ //arr is the array of object
     return {text: item.text};
});

2 个答案:

答案 0 :(得分:3)

使用Array.prototype.map

var arr = [{
    data: 'testData',
   text: 'testText'
}];

var newArr = arr.map(function(item){
    return {text: item.data};
});

结果如下:

[{ text: 'testData' }]

如果您希望它为[ {testText: 'testData' }],那么:

var arr = [{
    data: 'testData',
   text: 'testText'
}];

var newArr = arr.map(function(item){
    var obj = {};
    obj[item.text] = item.data;
    return obj;
});

答案 1 :(得分:0)

如果您想要一个具有单键值对的对象,则无需以对象形式存储。您可以将它们保存为数组。

var array = [
   {
      text : "text",
      data : "data"
   },
   {
      text : "text1",
      data : "data1"
   }
]

var newArray = array.map(function(item){
    return item.data;
});

您的输出看起来像

 ['text','text1']