从索引1开始Lodash地图

时间:2019-08-13 14:48:29

标签: javascript arrays object lodash slice

我目前正在使用lodash map来映射对象数组。

我总是需要数组中的索引0来做不同的事情。 有没有一种方法可以使映射从索引1开始,而不会导致数组发生变异或混乱呢?

我知道我可以使用slice(1)。只是想知道是否还有另一种方法可以从索引1而不是0开始。因此我以后不必将它们重新结合在一起。

1 个答案:

答案 0 :(得分:1)

map的第二个参数接受具有3个参数(value, index|key, collection)的函数。 因此,您可以使用index跳过第一个值,而使用value处理其余数据。

类似这样的东西:

let data = [0, 1, 2];

let result = _.map(data, (value, index) => {
  if (index === 0) {
    return value;
  } else {
    return value * 2;
  }
});

console.log(result);
<script src="https://cdn.jsdelivr.net/npm/lodash@4.17.15/lodash.min.js"></script>