在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ 數(shù)組與對象轉換的問題

數(shù)組與對象轉換的問題

一個數(shù)組中有多個對象,每個對象中包含子級數(shù)組,把每個對象的子級數(shù)組存到一個新數(shù)組中

回答
編輯回答
默念
arr2 = arr.reduce((cur, next) => {
  return cur.concat(next.children)
}, [])
2017年5月31日 19:53
編輯回答
溫衫
arr.reduce((result, current)=>result.concat(current.children), [])
2018年2月26日 19:13
編輯回答
笨小蛋
let newArr = [];
arr.forEach((element) => {
    if (typeof element === 'object') { // [] => object
        for (const attr in element) {
            const value = element[attr];
            if (Array.isArray(value)) { // [] => object => []
                newArr.push(value);
            }
        }
    }
});
console.log(newArr);
2018年5月11日 13:28
編輯回答
陌離殤
var array = [{
  "name": "lishi",
  "friends": [{
    "name": "lishi1",
    "friends": [{
      "name": "lishi2",
      "friends": [{
        "name": "lishi3",
        "friends": []
      }]
    },
    {
      "name": "lishi4",
      "friends": []
    }]
  },
  {
    "name": "lishi5",
    "friends": []
  }]
},
{
  "name": "wanger",
  "friends": [{
    "name": "wangwu"
  }]
},
{
  "name": "zhangsan",
  "friends": []
}];

題主沒有貼出數(shù)據(jù)具體是什么結構,假設是上面的結構(一個數(shù)組中有多個對象,每個對象中包含子級數(shù)組),拿出所有的friends數(shù)組中的對象,遞歸處理下就可以了。

var result = [];
function selectAllFriends(arr) {
  for (var i = 0; i < arr.length; i++) {
    if (!arr[i].friends || arr[i].friends.length < 1) {
      continue;
    }
    selectAllFriends(arr[i].friends);
    result = result.concat(arr[i].friends);
  }

}
selectAllFriends(array);
for (var i = 0; i < result.length; i++) {
  console.log(result[i]["name"]);
}
2017年9月12日 14:24