如果使用'if',如果一个数据被javascript包含在一个数组中,那么它是真的吗?

问题描述 投票:2回答:3

我有一个问题是否可行。 例如,有一个如下代码。但该代码肯定有错误。 而且当一个数据在某个数组时,我想让iftrue。 你能推荐一些方法吗?

这是我的代码:

var a = 1;
var model2 = [1, 2, 3];
if (a == model2) {
    var b = a;
} else {
    var c = a;
}
javascript jquery arrays object ecmascript-6
3个回答
3
投票

根据结构,我相信model2意味着array。数组是使用[]方括号而不是{}花括号创建的,这些花括号用于代码块和对象。 model2应该是这样的:

var model2 = [1, 2, 3];

至于检查某些东西是否在数组中,你可以使用Array.prototype.includes()

if (model2.includes(a)) {...}

.includes()做的是检查,数组(model2)是否包含传递的变量/值(a),并返回一个布尔值(truefalse),具体取决于值是否实际在数组中。

完整的工作代码:

var a = 1;
var model2 = [1, 2, 3];
if (model2.includes(a)) {
    var b = a;
}
else {
    var c = a;
}

进一步阅读:


2
投票

你没有创建一个var model2 = {1,2,3}的数组,你应该定义为

var model2 = [1,2,3]

你要使用数组的情况。那么你可以使用include方法

if(model2.includes(a)){
  var b = a
}else{
  var c = a
}

应该有所帮助!


1
投票

首先,这不是一个数组,而是一个对象和一个破坏的引导。数组用[ ]括号定义。

现在回答你的问题。数组有一个名为.includes()的原型函数

在这里阅读:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes

请注意,IE11不支持这一点,所以如果这是您的优先考虑,请告诉我,我会更新此答案。

© www.soinside.com 2019 - 2024. All rights reserved.