检查数组键是否等于某个值JavaScript

Check if array key equals certain value JavaScript

本文关键字:于某个 JavaScript 是否 数组 检查      更新时间:2023-09-26

我有这个数组:

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

我希望如果arr[0]等于首先执行操作1,否则执行操作2。

我用过:

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);
    });
}

但我得到未捕获的SyntaxError:意外的令牌[.

我该怎么做?

不能在对象文字中使用if语句。该代码有几个语法错误。

您可以定义一个引用对象的变量,并有条件地向其添加属性:

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);

另一种选择是使用三元运算符:

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