【发布时间】:2019-01-26 00:46:24
【问题描述】:
我有一小段代码。此代码将获取具有键值对的对象。我有另一个对象是一个空数组。我想遍历对象并从集合中创建每个值对的数组,并将每个数组推送到空数组对象。
我目前正在做的是传入一个集合(空数组)和一个函数。我想创建另一个函数,它将一个函数应用于对象中的每个项目。我能够获取每个对象的值和空集合。我需要获取每个值键并创建一个数组。
var letters = {d: 'dog', e: 'elephant', f: 'flotsam'};
var iterations = [];
_.each(letters, function(value, property) {
iterations.push([value, property]);
});
expect(iterations).to.eql([
['dog', 'd'],
['elephant', 'e'],
['flotsam', 'f']
]);
// this is the function that accepts a empty collection and callback
_.each = function(collection, iterator) {
console.log(Object.keys(collection))
for (var i = 0; i < collection.length; i++){
// I want to insert the key where the (i) is located below
iterator(collection[i],i , collection);
};
};
我想在循环遍历传递的集合时抓住每个键,并将该键插入到 (i) 距下面代码 sn-p 底部两行的位置。我尝试了一些不同的东西,但它们不起作用。
【问题讨论】:
-
什么不起作用?
-
在最后一个函数中你想做什么并不是很清楚。
collection是数组还是对象?如果您发布您的输入和最终所需的输出,它可能会有所帮助。 -
我试图弄清楚如何在 for 循环中的代码 sn-p 底部的迭代器中获取每个字母的键。
-
我认为,OP 正在尝试自己实现
_.each。 -
@OmarJandali 检查this。
标签: javascript arrays object underscore.js