我正在从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/