为什么JavaScript函数返回未定义?

时间:2020-11-10 09:55:49

标签: javascript arrays undefined

TwoSum,需要返回加到目标的整数的索引:输入:nums = [2,7,11,15],目标= 9输出:[0,1]输出:因为nums [0] + nums [1] == 9,我们返回[0,1]。

我是JavaScript的新手,我不明白为什么它返回undefined。经过几次测试,我注意到它甚至没有进入第二个forloop,但是当我在python中编写它时,它工作得很好

var twoSum = function(nums, target) {
  for (let i = 0; i < nums.length; i++) {
    if (nums[i] >= target) {
      continue;
    }
    for (let j = i; j < nums.legth; j++) {
      if (nums[j] >= target) {
        continue;
      }
      if (nums[i] + nums[j] === target) {
        const ans = [i, j]
        return ans;
      }
    }
  }
};
console.log(twoSum([2,7,11,15],9));

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:2)

您输入错误。在第二个循环中将legth固定为length

var twoSum = function (nums, target) {
      for (let i = 0; i < nums.length; i++) {
        if (nums[i] >= target) {
          continue;
        }
        for (let j = i; j < nums.length; j++) {
          if (nums[j] >= target) {
            continue;
          }

          if (nums[i] + nums[j] === target) {
            const ans = [i, j];
            return ans;
          }
        }
      }
    };

    console.log(twoSum([2, 7, 11, 15], 9));