JavaScript - 将具有键值对的对象数组转换为具有值的数组数组

JavaScript - Convert an Array of Objects with Key-value pair to Array of Arrays with values

我有一个这样的对象数组:

var myArray = [
        {
            name: "abc",
            age: 23,
            rank:208
        },
        {
            name: "pqr",
            age: 25,
            rank:178
        },
        {
            name: "xyz",
            age: 21,
            rank:108
        }
   ];

我预期的结果:

var newArray = [['abc', 23, 208], ['pqr', 25, 178], ['xyz', 21, 108]];

我试图找到解决方案,但不知道在互联网上搜索什么。请帮忙。提前致谢。

var result = [];
for (i in myArray){
  var newArray = [];
  for(j in myArray[i]){
    newArray.push(myArray[i][j]);
  }
  result.push(newArray);
}

使用地图,这样可以短小精悍。

var newArray = myArray.map(function (item) {
    return Object.keys(item).map(function (subitem) {
        return item[subitem]
    });
});

或者如果您碰巧使用的是 ES2015(JavaScript 的较新版本):

let newArray = myArray.map(item => Object.values(item));

你可以试试这样的...

var myArray = [{
  name: "abc",
  age: 23,
  rank: 208
}, {
  name: "pqr",
  age: 25,
  rank: 178
}, {
  name: "xyz",
  age: 21,
  rank: 108
}];

function convertToArrayOfArrays(arr) {
  var newArray = [];
  for (var i = 0; i < arr.length; i++) {
    var arraySection = [];
    var obj = arr[i];
    for (var key in obj) {
      arraySection.push(obj[key]);
    }
    newArray.push(arraySection);
  }
  return newArray;
}

console.log(convertToArrayOfArrays(myArray));