在Lodash.js / Underscore.js中,如何为每个元素添加索引?

时间:2015-06-19 08:24:06

标签: javascript underscore.js lodash

这是输入:

[{animal: "cat"}, {animal:"dog}}

输出结果为:

[{animal: "cat", idx: 1}, {animal: "dog", idx: 2}]

有人在Lodash / Underscore.js中有关于如何做到这一点的想法吗?

4 个答案:

答案 0 :(得分:3)

在下划线:

您可以使用 .map .each 进行迭代您希望在其中添加索引的目标数组中的每个元素。然后你可以使用 _ .extend 来添加" idx"丙

工作示例:

var data =  [{animal: "cat"}, {animal:"dog"}]

_.map(data, function(e, i) {
  return _.extend(e, {idx: i + 1});
});

答案 1 :(得分:0)

var data = [{animal: "cat"}, {animal:"dog"}, {animal:"er"}];
var data2 = _.select(data,function(val, key){    
    return {val, idx : key};
});

答案 2 :(得分:0)

遍历元素,为每个元素添加索引。

_.each(data, function(elt, i) { elt.idx = i + 1; })

答案 3 :(得分:0)

var newAnimals = _.map(animals, function(animal, index){
    animal.idx = index + 1;
    return animal;
})