在将特定键推入数组时遇到困难
Having trouble pushing a specific key into an array
所以我刚刚学会了如何为for循环创建一个函数。我们有:
function each(array, func) {
for (var i = 0; i <array.length; i++) {
func(array[i]);
}
}
现在我试图采取一个已经制作的函数,使用for循环,并将其替换为每个。
var people = [
{name: {first: "Alyssa", middle: "P.", last: "Hacker"}, age: 26},
{name: {first: "Ben", last: "Bitdiddle"}, age: 34}
];
function ages1(people) {
var acc = [];
for (var i = 0; i < people.length; i++) {
acc.push(people[i].age);
}
return acc;
}
函数返回[26,34]
现在我创建了这个:
function ages(people) {
var acc = [];
each(people, function(age) {
acc.push(people[i].age);
});
return acc;
}
我得到一个"I是未定义的"错误。如果我不能使用I来引用每个数字,我怎么能把每个年龄推入新的数组呢?
你应该这样做:
function ages(people) {
var acc = [];
each(people, function(person) {
acc.push(person.age);
});
return acc;
}
顺便说一下,javascript有一个本地的forEach
函数,它可以做你的each
函数做的事情,并且可能更快/更健壮。
它在Array
的原型中,所以它在数组上的使用是这样的:
people.forEach(function(person) {
acc.push(person.age);
})
相关文章:
- 将子文档推送到父数组时遇到问题
- AngularJs 帮助,在传递给隔离范围的对象中选择数组时遇到问题
- 解析数组时遇到困难
- 在 javascript 数组中播放音频文件时遇到问题
- 显示 JavaScript 数组时遇到问题
- 比较数组时遇到麻烦
- 返回数组元素时遇到问题
- 我在使用数组及其元素时遇到问题
- 获取 get JSON 显示数组中的值时遇到问题
- 在设置条件以仅在数组中存在相应对象时才执行函数时遇到问题
- 尝试将IF语句与数组一起使用时遇到问题
- 在for循环数组检查和JSON变量方面遇到问题
- 从数组中删除对象时遇到麻烦
- 在JavaScript/jQuery中传递整个二维数组作为参数时遇到麻烦
- 在angular(循环中的循环)中创建新的对象数组时遇到麻烦
- 在javascript中访问数组值时遇到麻烦
- 在Angular控制器中解析json/string版本的数组时遇到问题
- 我在添加数组的这些元素时遇到了麻烦.破折号似乎抑制了每个变量的添加
- 在将特定键推入数组时遇到困难
- 将数组中的值传递到另一页时遇到麻烦