我目前正在使用lodash map来映射对象数组。
我总是需要数组中的索引0来做不同的事情。 有没有一种方法可以使映射从索引1开始,而不会导致数组发生变异或混乱呢?
我知道我可以使用slice(1)。只是想知道是否还有另一种方法可以从索引1而不是0开始。因此我以后不必将它们重新结合在一起。
答案 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>