pluck
将对象数组映射为数组的数组
136 bytes
since v12.5.0
使用方法
传入一个对象数组并指定要提取的一个或多个键。该函数返回一个包含提取值的新数组(作为数组的数组)。输入数组永远不会被改变。
import * as _ from "radashi";
const gods = [ { name: "Ra", power: 100, domain: "Sun" }, { name: "Zeus", power: 98, domain: "Lightning" }, { name: "Loki", power: 72, domain: "Tricks" },];
// 提取单个属性const names = _.pluck(gods, ["name"]);// => [['Ra'], ['Zeus'], ['Loki']]
// 提取多个属性const powerDomains = _.pluck(gods, ["power", "domain"]);// => [[100, 'Sun'], [98, 'Lightning'], [72, 'Tricks']]
// 提取所有属性const allProps = _.pluck(gods);// => [['Ra', 100, 'Sun'], ['Zeus', 98, 'Lightning'], ['Loki', 72, 'Tricks']]映射函数
pluck 函数除了接受属性名外,还可以接受映射函数。
import * as _ from "radashi";
const gods = [ { name: "Ra", power: 100, domain: "Sun" }, { name: "Zeus", power: 98, domain: "Lightning" }, { name: "Loki", power: 72, domain: "Tricks" },];
const mapped = _.pluck(gods, [ (god) => `${god.name} is a god of ${god.domain}`, (god) => god.power,]);// => [// ['Ra is a god of Sun', 100],// ['Zeus is a god of Lightning', 98],// ['Loki is a god of Tricks', 72]// ]