简体   繁体   English

检查数组键是否等于特定值JavaScript

[英]Check if array key equals certain value JavaScript

I have this array: 我有这个数组:

var arr = [
    ['First', 'lorem ipsum'],
    ['Second', 'dolor sit amet'],
];

and I want if arr[0] equals First do action 1, else do action 2. 我想要arr[0]等于首先执行操作1,否则执行操作2。

I used: 我用了:

for (var i = 0; i < markers.length; i++) {
    var arr = markers[i];
    var marker = new google.maps.Marker({
        map: map,
        if(arr[0] == 'Lorem') {
                icon: 'http://imgur.com/1.png',
                }
        else {
            icon: 'http://imgur.com/2.png',
            }
    });

    var contentString = '';

    google.maps.event.addListener(marker, "click", function () {
        infowindow.setContent(this.html);
        infowindow.open(map, this);
    });
}

but I get Uncaught SyntaxError: Unexpected token [. 但是我收到了Uncaught SyntaxError:意外的令牌[。

How should I do this? 我应该怎么做?

You can't use an if statement in an object literal. 您不能在对象文字中使用if语句。 The code has several syntax errors. 该代码有几个语法错误。

You can define a variable that refers to the object and conditionally add the property to it: 您可以定义一个引用该对象的变量,并有条件地向其添加属性:

var obj = {
   map: map
};

if ( condition ) {
   obj.icon = 'http://imgur.com/1.png';
} else {
   obj.icon = 'http://imgur.com/2.png';
}

var marker = new google.maps.Marker(obj);

Another option is using a ternary operator : 另一种选择是使用三元运算符

var marker = new google.maps.Marker({
    map: map,
    icon: arr[0] == 'Lorem' ? 'http://imgur.com/1.png' : 'http://imgur.com/2.png'
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM