我正在尝试获取数组元素的索引。我将把它用于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方法不正确吗?
答案 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]