Javascript 从嵌套数组中删除键

标签 javascript arrays

我正在从mysql检索数据,并希望将localStorage中的每一行数据保存为数组。以下是我在 javascript 端收到的嵌套数组。

arr = [{image_id: "80", imagename: "Image1",firstx: "267", firsty: "403"}, 
      {image_id: "80", imagename: "Image1",firstx: "320", firsty: "470"}, 
      {image_id: "80", imagename: "Image2",firstx: "126", firsty: "237"}
       ]

从中我想删除 image_id、imagename、firstx 和 firsty 并返回一个结果,该结果是一个数组,并且仅包含每个数组的值。所需的输出是

newarr =[[80,Image1,267,403],[80,Image1,320,470],[80,Image2,126,237]]

我已完成以下操作:

var newarr = [];
for (var i = 0, l = arr.length; i < l; i++) {
    var keys = Object.keys(arr[i]);
    for (var j = 0, k = keys.length; j < k; j++) {
        newarr.push(arr[i][keys[j]]);
        }
}

console.log(newarr)

这会以数组形式返回 的每个元素。生成的数组将作为嵌套数组推送到 localStorage。

最佳答案

我猜你想要一个数组而不是一个对象 - map by Object.values:

const arr = [{image_id: "80", imagename: "Image1",firstx: "267", firsty: "403"}, 
  {image_id: "80", imagename: "Image1",firstx: "320", firsty: "470"}, 
  {image_id: "80", imagename: "Image2",firstx: "126", firsty: "237"}
];
console.log(arr.map(Object.values));

关于Javascript 从嵌套数组中删除键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51667094/

相关文章:

javascript - mongodb 模式中具有不同对象类型的数组

c++ - 你能制作一个接受 C++ 中的 vector 和数组的模板吗?

javascript - 在模态 Angular js中返回多个结果

javascript - 如何将标签对齐到 div 控件的顶部中间并在其周围绘制一个矩形?

javascript - 如何以 jison 形式将附加输入传递给 `parse`?

javascript - 在javascript中迭代数组并返回新数组

javascript - 使用 foreach 和 setTimeout 无限次迭代数组

c++ - 在 C++ 中比较 std::string 与常量与比较 char 数组与常量

ios - 如何从具有多个条件的数组中删除重复项?

javascript - 我怎样才能列出可用的过滤器