繁体   English   中英

Javascript从嵌套数组中删除键

[英]Javascript remove keys from nested 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。

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

 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)); 

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM