使用函数时未定义

时间:2016-10-07 06:17:54

标签: javascript

我试图编写一个函数,该函数使用reduce()方法计算数组中的项数并返回该数组的长度。

这是我到目前为止所做的:

function len(items) {
    items.reduce(function(prev, curr, index){
        return index+1;
    });
}

let nums = [1, 2, 3];

console.log(len(nums));

每当我尝试运行此代码时,在浏览器的控制台中,我都会收到消息' undefined'。我认为我正确地定义了我的功能,所以我不知道为什么没有被调用或输出任何值。请让我知道我做错了什么,或者我的逻辑错了。

3 个答案:

答案 0 :(得分:2)

你忘了回来

function len(items) {
    return items.reduce(function(prev, curr, index){
        return index+1;
    });
}

或只是

function len(items) {
    return items.length;
}

答案 1 :(得分:2)

function len(items) {
    return items.reduce(function(prev, curr, index){
        return index+1;
    });
}

let nums = [1, 2, 3];

console.log(len(nums));

答案 2 :(得分:0)

试试这个:

function len(items) {
  if(items){                 //error handle
    return items.length;

  }
       return 0;
}