javascript 使用Array reduce可以安全地访问嵌套对象。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 使用Array reduce可以安全地访问嵌套对象。相关的知识,希望对你有一定的参考价值。

const user = {
  personalInfo: {
    name: 'Michael Bluth',
    addresses: [{ city: 'Sudden Valley' }]
  }
};

const getNestedObject = (nestedObj, pathArr) => {
  return pathArr.reduce(
    (obj, key) => (obj && obj[key] !== 'undefined' ? obj[key] : null),
    nestedObj
  );
};

// pass in your object structure as array of strings
const name = getNestedObject(user, ['personalInfo', 'name']);

// to access nested array, just pass in array index as an element the path array.
const city = getNestedObject(user, ['personalInfo', 'addresses', 0, 'city']);

// this will return the city from the first address item.

以上是关于javascript 使用Array reduce可以安全地访问嵌套对象。的主要内容,如果未能解决你的问题,请参考以下文章

Javascript 中使用 Array.reduce 的相同对象的总和

JavaScript - reduce方法 (Array)

javascript array.prototype.reduce()

javascript JS__array_reduce

javascript ES5 - Array.prototype.reduce()

JavaScript——Array.prototype.reduce()