我有var colors = ["green", "blue", "red", "yellow" ]
。我想检查是否有" red",然后只返回该数组中的特定元素。但我的代码返回数组中的所有元素。
for (var i = 0; i < colors.length; i++){
if ((colors[i])=== "red") {
return colors[i];
}
}
答案 0 :(得分:0)
您的代码没有任何问题..
function getColor(color)
{
colors = ["green", "blue", "red", "yellow" ]
for (var i = 0; i < colors.length; i++){
if ((colors[i])=== color) {
return colors[i];
}
}
}
getColor('red'); // returns 'red';
答案 1 :(得分:0)
colors = ["green", "blue", "red", "yellow" ]
function getColor(c){
return colors.indexOf(c)> -1? colors[colors.indexOf(c)]: undefined;
}
document.write(getColor('red'));
答案 2 :(得分:0)
这对我来说很好用:
{{1}}
答案 3 :(得分:0)
尝试FIDDLE,FIDDLE警告所选项目
你必须将for循环包装在一个返回值的函数中。
示例:
$(function () {
var colors = ["green", "blue", "red", "yellow"];
function GetItem() {
for (var i = 0; i < colors.length; i++) {
if ((colors[i]) === "red") {
return colors[i];
}
}
}
alert(GetItem());
});
希望这适合你
答案 4 :(得分:0)
如果它不在函数内部。在条件满足时打破循环。
答案 5 :(得分:0)
首先,您需要中断并分配或保存密钥。
var key;
for (var i = 0; i < colors.length; i++){
if ((colors[i])=== "red") {
key = i;
break;
}
}
color = colors[key];
但您可以改用indexOf。
if (colors.indexOf('red') !== -1) {
var key = colors.indexOf('red');
var color = colors[key];
}