JS - array.includes问题

时间:2018-02-22 16:17:07

标签: javascript arrays

我有一个JS函数array.includes这个问题。我有这个数组:

问题是当我使用这段代码时,什么都不会发生。

var array_type;
//array has these 2 values:
//array_type[0] == 0;
//array_type[1] == 2;
if (array_type.includes(2)) {
 console.log("good");
}

你知道为什么吗?谢谢你的帮助。

6 个答案:

答案 0 :(得分:2)

此代码有效

[1,2].includes(2)

但如果可以使用包含功能

,则必须小心

https://caniuse.com/#search=includes

答案 1 :(得分:2)

该代码适合我。例如,

var partitionOffset = _producer.QueryWatermarkOffsets(new TopicPartition("myTopic", myPartition), TimeSpan.FromSeconds(10));

将记录var array_type = [0, 2]; if (array_type.includes(2)) { console.log("good"); }

确保您正确地将项目插入阵列。

答案 2 :(得分:2)

如果您使用的是Internet Explorer,那么array.includes()将无效。相反,您需要使用indexOf Internet Explorer不支持Array.includes()



var array_type = [0, 2];

if (array_type.indexOf(2) !== -1) {
  console.log("good");
}




References for includes()

References for indexOf()

检查链接中的浏览器兼容性部分

答案 3 :(得分:2)

这里你没有添加值,你正在测试array_type [0]是否等于0 和array_type [1]等于2

//array has these 2 values:
array_type[0] == 0;
array_type[1] == 2;

所以这段代码

if (array_type.includes(2)) {
    console.log("good");
}

绝不是真的 尝试

var array_type = [];
array_type[0] = 0;
array_type[1] = 2;

if (array_type.includes(2)) {
    console.log("good");
}

答案 4 :(得分:1)

var array_type = [];
//array has these 2 values:
array_type[0] = 0;
array_type[1] = 2;
if (array_type.includes(2)) {
     console.log("good");
}

这应该有效!

答案 5 :(得分:1)

我认为两个注释都是值集(=)而不是比较(==)

因为使用第一个选项,它可以工作:

> array_type.includes(2)
true