用于验证数组中的第一个OR最后一项是否等于某个数字的函数?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (54)

我正在尝试编写一个函数来检查数组是否包含数组的第一个或最后一个位置的特定数字。

console.log那里的所有例子都应该打印出来true。它的印刷方式我不认为我应该写console.log在我的功能中。我不能让他们全部显示true

function checkForNumber(arr, num) {
  if (arr[0] === num) {
    //console.log(true) removed
    return true
  } else if (arr.slice(-1)[0] === num) {
    //console.log(true) removed
    return true
  } else
    return false;
}
console.log(checkForNumber([4, 2, 5, 3], 4) === true);
console.log(checkForNumber([4, 2, 5, 3], 3) === true);
console.log(checkForNumber([4, 2, 5, 3], 2) === false);
console.log(checkForNumber([4, 2, 5, 3], 13) === false);
提问于
用户回答回答于

在你的问题的第一个版本中,你有console.log(true);而不是,return true;这是错误的。

function checkForNumber(arr, num)
{
	if(arr[0] === num)
	{
		//console.log(true);
		return true;
	}
	else if (arr[arr.length-1] === num)
	{
		//console.log(true);
		return true;
	}
	else return false;
}
console.log(checkForNumber([4, 2, 5, 3], 4) === true);
console.log(checkForNumber([4, 2, 5, 3], 3) === true);
console.log(checkForNumber([4, 2, 5, 3], 2) === false);
console.log(checkForNumber([4, 2, 5, 3], 13) === false);

你也可以写:

function checkForNumber(arr, num)
{
	return  arr[0] === num || arr[arr.length - 1] === num;
}

console.log(checkForNumber([4, 2, 5, 3], 4) === true);
console.log(checkForNumber([4, 2, 5, 3], 3) === true);
console.log(checkForNumber([4, 2, 5, 3], 2) === false);
console.log(checkForNumber([4, 2, 5, 3], 13) === false);

但是你的第二个代码版本是正确的,如果你这样写:

function checkForNumber(arr, num)
{
    return  arr[0] === num || arr.slice(-1)[0] === num;
}

然后它是一个符号甚至更短:

function checkForNumber(arr, num)
{
    return  arr[0] === num || arr[arr.length - 1] === num;
}
用户回答回答于

以下是我在评论中建议的完全实施的解决方案。

function checkForNumber(arr, num) {
  if (arr[0] === num || arr[arr.length - 1] === num) {
    return true
  } else
    return false;
}

console.log(checkForNumber([4, 2, 5, 3], 4));
console.log(checkForNumber([4, 2, 5, 3], 3));
console.log(checkForNumber([4, 2, 5, 3], 2));
console.log(checkForNumber([4, 2, 5, 3], 13));
console.log(checkForNumber([4, 2, 5, 4], 4));

所属标签

可能回答问题的人

  • 嗨喽你好

    7 粉丝480 提问8 回答
  • uncle_light

    5 粉丝518 提问6 回答
  • 人生的旅途

    10 粉丝484 提问6 回答
  • 富有想象力的人

    3 粉丝0 提问6 回答

扫码关注云+社区

领取腾讯云代金券