如何通过遍历获取数组元素的索引

时间:2020-03-31 11:29:58

标签: javascript arrays indexof

我正在尝试获取数组元素的索引。我将把它用于Leetcode问题“按给定顺序创建目标数组”。

现在,我编写了以下代码,但是它不起作用。 (返回未定义)

var createTargetArray = function(nums) {    

    for(var i=0; i<nums.length; i++) {
        console.log(nums.indexOf[i])
    }

};

const num = [1,2,3,4,0,108];
createTargetArray(num);

该代码的预期输出:[0、1、2、3、4、5]

我使用indexOf方法不正确吗?

2 个答案:

答案 0 :(得分:0)

要获取数字索引,您必须调用indexOf作为函数调用(indexOf(i)),而不是数组访问器(indexOf[i]

尝试运行下面的代码片段进行检查。

var createTargetArray = function(nums) {    

    for(var i=0; i<nums.length; i++) {
        console.log(nums.indexOf(i))
    }

};

const num = [1,2,3,4,0,108];
createTargetArray(num);

如果您想要指数的指数,那只是您的变量i。您无需调用indexOf方法。

var createTargetArray = function(nums) {    

    for(var i=0; i<nums.length; i++) {
        console.log(i)
    }

};

const num = [1,2,3,4,0,108];
createTargetArray(num);

答案 1 :(得分:0)

var createTargetArray = function(nums) {    
    for(var i=0; i<nums.length; i++) {
        console.log(nums.indexOf[i]) // <--mistake
    }
};

indexOf是一种方法

console.log(nums.indexOf(nums[i]));

但是由于您要遍历数组,所以顺序输出始终为[0,1,2,... n]