在对象中取数组的多个值

Take multiple value of an array in an object

本文关键字:数组 对象      更新时间:2023-09-26

我有一个包含不同值的数组的对象

var myObj = {
            "number": 10,
            "general": "general",
            "array": [{
                "num1": 11,
                "text": "text1",
            }, {
                "num2": 1,
                "text": "text2",
            }, {
                "num3": 3,
                "text": "text3",
            } ]
        };

怎么可能有像text1,text2,text3这样的结果

I try this

for (i=0; i <myObj.array.length; i++) {
    a = myObj.array[i].text
    a1 += a
}

使用Array.prototype.map方法

var result = myObj.array.map(function (item) {
  return item.text;
});

如果你需要结果为字符串,你可以使用join方法:result.join(',');

您可以将值压入数组,然后与join(',')连接

var myObj = {
            "number": 10,
            "general": "general",
            "array": [{
                "num1": 11,
                "text": "text1",
            }, {
                "num2": 1,
                "text": "text2",
            }, {
                "num3": 3,
                "text": "text3",
            }, ]
        };
var a1 = [];
for (i=0; i <myObj.array.length; i++) {
    a1.push(myObj.array[i].text);
}
var resultString = a1.join(',');

无需使用循环。相反,

var myObj = {
  "number": 10,
  "general": "general",
  "array": [{
    "num1": 11,
    "text": "text1",
  }, {
    "num2": 1,
    "text": "text2",
  }, {
    "num3": 3,
    "text": "text3",
  }]
};
var mapped = myObj.array.map(function(obj) {
  return obj.text;
});
var joined = mapped.join(',');
console.log(joined);

您可以使用forEach-Loop:

myObj.array.forEach(function(entry) {
    line += entry.text;
});