LoDash 是一个 JavaScript 实用工具库,提供了许多用于处理数组、对象、字符串等的函数。要从对象属性数组中获取值数组,可以使用 LoDash 的 _.map
函数。
_.map
collection
: 要遍历的数组或对象。iteratee
: 对每个元素执行的函数。当你有一个对象数组,并且想要提取某个特定属性的值组成一个新的数组时,可以使用 _.map
函数。
假设有以下对象数组:
const users = [
{ id: 1, name: 'Alice', age: 25 },
{ id: 2, name: 'Bob', age: 30 },
{ id: 3, name: 'Charlie', age: 35 }
];
如果你想要获取所有用户的名字,可以使用 _.map
函数:
const names = _.map(users, 'name');
console.log(names); // 输出: ['Alice', 'Bob', 'Charlie']
或者使用函数形式的 iteratee
:
const names = _.map(users, user => user.name);
console.log(names); // 输出: ['Alice', 'Bob', 'Charlie']
问题: 如果对象数组中的某些对象缺少指定的属性,_.map
会返回 undefined
。
解决方法: 在 iteratee
函数中添加属性存在性检查。
const names = _.map(users, user => user.name || 'Unknown');
console.log(names); // 输出: ['Alice', 'Bob', 'Charlie'],即使某些对象缺少 name 属性也不会报错
领取专属 10元无门槛券
手把手带您无忧上云