如何只选择数组中的特定值

How to select only particular value in array?

本文关键字:数组 选择      更新时间:2023-09-26

我有var colors = ["green", "blue", "red", "yellow" ]。我想检查是否有"红色",然后只返回该数组中的那个特定元素。但是我的代码返回数组中的所有元素。

for (var i = 0; i < colors.length; i++){
    if ((colors[i])=== "red") {
    return colors[i];
  }
 }

您的代码没有任何问题。。

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';
colors = ["green", "blue", "red", "yellow" ]
function getColor(c){
     return colors.indexOf(c)> -1? colors[colors.indexOf(c)]: undefined;
}
document.write(getColor('red'));

尝试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());
});

希望这对你有效

如果它不在函数内部。当条件满足时中断循环。

首先,您需要中断并分配或保存密钥。

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

这对我来说很好:

 for (var i = 0; i < colors.length; i++){
    if (colors[i] == "red") {
        return colors[i];
     }
 }