Javascript 返回的元素不';t工作-JS
我正在创建一个Javascript 返回的元素不';t工作-JS,javascript,arrays,Javascript,Arrays,我正在创建一个每个函数来处理不同类型的回调,例如 iterateCollection-w/c只返回/打印数组或对象项 返回偶数元素-w/c返回数组的偶数元素 returnKeyDivisibleBy3-w/c返回可被3整除的数组元素 returnKeyWithArrayValue-w/c返回 具有数组值的对象 我的意思是: var myArray=[1,2,3,4,5]; 变量myObject={ num1:1, num2:2, num3:[1,2,3] }; 每个函数(集合、回调){ i
每个函数来处理不同类型的回调,例如
- iterateCollection-w/c只返回/打印数组或对象项
- 返回偶数元素-w/c返回数组的偶数元素
- returnKeyDivisibleBy3-w/c返回可被3整除的数组元素
- returnKeyWithArrayValue-w/c返回
具有数组值的对象
我的意思是:
var myArray=[1,2,3,4,5];
变量myObject={
num1:1,
num2:2,
num3:[1,2,3]
};
每个函数(集合、回调){
if(数组的集合实例){
for(var i=0,l=collection.length;i 控制台日志(output4)代码>问题在于您没有将回调设置为任何要返回的值。将回调设置为数组,然后从每个
函数中返回该值
我精简了代码,并给出了一个returnEvenElements
的示例。希望这有帮助
我能够通过代码获得[2,4,6]
var myArray=[1,2,3,4,5, 6];
function each(collection, callback){
const returnArray = []; // <- create array to capture values
if(collection instanceof Array) {
for(var i=0, l=collection.length; i<l; i++){
if (callback(collection[i])){ // <- check if condition is true
returnArray.push(collection[i]); // <- set values in array
}
};
}
return returnArray; <- return the value
}
function returnEvenElements(collection){
return (typeof collection === 'number') && !(collection % 2);
}
var output1 = each(myArray, returnEvenElements);
console.log(output1);
您需要在each functionreturn callback(collection[i])中返回回调输出;已尝试此操作,但我的函数仍然不会返回任何内容。@JamesHedegon如果您编写返回回调(集合[i])代码>然后它确实返回了一些东西,请参见此。它可能不会返回你想要的东西,但它会返回一些东西。是的,但是为什么给定每个函数的returnEvenElements(collection)等参数,它不会返回任何东西呢?你能检查一下这些功能吗?在调试这些功能方面你做了哪些尝试?您是否放置了断点或console.log?仅仅要求人们“检查我的函数”并不能很好地运行。你能给我一个对象的例子吗?returnKeyWithArrayValue的例子
const evens = myArray.filter(value => (value % 2 === 0));