当前位置: 代码迷 >> JavaScript >> 如何从数组中删除所有“地图”属性
  详细解决方案

如何从数组中删除所有“地图”属性

热度:82   发布时间:2023-06-06 09:47:33.0

从此数组:

[{
  "map": {
    "name": "2",
    "y": 2
  }
}, {
  "map": {
    "name": "4",
    "y": 17494
  }
}, {
  "map": {
    "name": "3",
    "y": 2
  }
}, {
  "map": {
    "name": "1",
    "y": 1
  }
}]

我想要这个数据结构:

 [{ "name": "2", "y": 2 }, { "name": "4", "y": 17494 }, { "name": "3", "y": 2 }, { "name": "1", "y": 1 }] 

我怎样才能做到这一点?

使用JavaScript映射:

  let json = [{ "map": { "name": "2", "y": 2 } }, { "map": { "name": "4", "y": 17494 } }, { "map": { "name": "3", "y": 2 } }, { "map": { "name": "1", "y": 1 } }]; let result = json.map(item => item.map); result.forEach(i => console.log(i)); 

上面的代码打印:

{name: "2", y: 2}
{name: "4", y: 17494}
{name: "3", y: 2}
{name: "1", y: 1}

看到:

嗨,您可以通过遍历数组并提取所需的输出,通过纯js??完成此操作。 请检查下面的代码。

var arr = [{ "map": { "name": "2", "y": 2 } }, { "map": { "name": "4", "y": 17494 } }, { "map": { "name": "3", "y": 2 } }, { "map": { "name": "1", "y": 1 } }];
var resultArr = arr.map(function(item) {
    return item.map;
})

使用Array.prototype.reduce()

 let input=[{ "map": { "name": "2", "y": 2 } }, { "map": { "name": "4", "y": 17494 } }, { "map": { "name": "3", "y": 2 } }, { "map": { "name": "1", "y": 1 } }] let revisedarray=input.reduce((acc,val)=>{ acc.push(val.map); return acc; },[]) console.log(revisedarray) 

有关数组缩减的更多信息,请

ES6短语法,这里A是对象的原始数组,而A2是对象的输出数组

let A2 = A.map(o=>o.map);
let jsonString = your_jsonString;
var blankArr = [];
let result = jsonString.map(item => item.map);
result.forEach(i => blankArr.push(i));
console.log(blankArr);
  相关解决方案