Javascript 如何仅选择数组中的特定值?

Javascript 如何仅选择数组中的特定值?,javascript,Javascript,我有var颜色=[“绿色”、“蓝色”、“红色”、“黄色”]。我想检查是否有“red”,然后只返回该数组中的特定元素。但是我的代码返回数组中的所有元素 for (var i = 0; i < colors.length; i++){ if ((colors[i])=== "red") { return colors[i]; } } for(变量i=0;i

我有
var颜色=[“绿色”、“蓝色”、“红色”、“黄色”]
。我想检查是否有“red”,然后只返回该数组中的特定元素。但是我的代码返回数组中的所有元素

for (var i = 0; i < colors.length; i++){
    if ((colors[i])=== "red") {
    return colors[i];
  }
 }
for(变量i=0;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';
函数getColor(颜色) { 颜色=[“绿色”、“蓝色”、“红色”、“黄色”] 对于(变量i=0;i这对我来说很好:

 for (var i = 0; i < colors.length; i++){
    if (colors[i] == "red") {
        return colors[i];
     }
 }
for(变量i=0;i
尝试,小提琴提示所选项目

必须将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());
});
$(函数(){
变量颜色=[“绿色”、“蓝色”、“红色”、“黄色”];
函数GetItem(){
对于(变量i=0;i

如果它不在函数中,希望它对您有用。当条件满足时中断循环。

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

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

返回颜色。indexOf('red')>-1红色:未定义看起来不错。它应该返回元素。
return
只能在函数内部使用。如果此代码不在函数中,则不清楚您要返回的确切位置。你能详细说明一下吗?你必须定义函数来返回一些值,否则你可以将值存储在一些变量中,你有两个选项。@Ann在
颜色中。indexOf('red')
,如果在数组中找不到
red
,它将返回
-1
。因此,如果找到它,它将返回该数组中它的索引。
var key;
for (var i = 0; i < colors.length; i++){
    if ((colors[i])=== "red") {
        key = i;
        break;
    }
 }
 color = colors[key]; 
if (colors.indexOf('red') !== -1) {
    var key = colors.indexOf('red');
    var color = colors[key];
}