[英]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.