嘿,我有以下示例数组:

var arr = ['hello', 'something', 'trying', 'new', 'old'];


以下是我的过滤器代码功能:

function doSomething(sentOver) {
  console.log(sentOver);
  myNewArray = jQuery.grep(arr, function(n) {
    $('#output').text(n === sentOver);
  });
}


当我使用doSomething('trying');运行上述命令时当答案应该为真时,它返回为假。

我在这里错过了什么导致它返回为假?

可以在HERE中找到JSFIDDLE。

最佳答案

线

$('#output').text(n === sentOver);


对输入数组中的每个项目执行。 #output的内容将在“微秒”内为真,但将被最后一个项目old覆盖,这不能完全满足条件。

以下代码将为您的输入集显示true

var arr = ['hello', 'something', 'trying', 'new', 'old'];

function doSomething(sentOver) {
  console.log(sentOver);

  myNewArray = jQuery.grep(arr, function(n) {
    return n === sentOver;
  });

  $("#output").text(myNewArray.length > 0);
}

doSomething('trying');

07-28 10:21