【问题标题】:if an array contains a specific value, then return the full 'content' of the value [duplicate]如果数组包含特定值,则返回该值的完整“内容”[重复]
【发布时间】:2015-05-09 14:43:52
【问题描述】:

想法是这样的。。

var myArray = ['Apple juice','Banana Milkshake','Some Treat'];
function search(search_term){
if(myArray.indexOf(search_term) != -1){
     return ..... //this is what i want to do.
};

// code is run as.
search("Apple");

我的想法是,当我调用 search() 函数并找到一个值时,它应该返回匹配项的完整长度或完整值 所以如果我这样做search("Apple"); 它应该返回'Apple Juice' 但我不知道有什么方法可以做到这一点,所以任何人都可以帮我找到一种方法吗?

【问题讨论】:

  • @jQuery 这是一个副本。投票结束。
  • @Scimonster 想将此问题作为重复问题关闭吗?
  • @jQuery 我和其他人一样投票结束,但它还需要 3 票(或金徽章持有者)。
  • 最简单的方法:['Apple juice','Banana Milkshake','Some Treat'].filter(/./.test, /Apple/);

标签: javascript jquery arrays variables search


【解决方案1】:

您可以执行以下操作:

for (var i in myArray)
    if (myArray[i].indexOf(search_term) != -1)
        return myArray[i];

或者如果你想返回一个数组中的所有匹配项:

myArray.filter(function(item) {
    return item.indexOf(search_term) != -1;
}); 

【讨论】:

  • 不,它不是这样工作的。再次阅读问题。
  • 这更像。
  • 谢谢!我只是这方面的初学者,所以很难,但感谢您的帮助!
【解决方案2】:

也许是这样的?

   var myArray = ['Apple juice','Banana Milkshake','Some Treat', 'Here'];

    function search(search_term){
        for(var i=0; i < myArray.length; i++) {

            if(myArray[i].indexOf(search_term) !== -1) {
                return myArray[i];
            }
        }

        return false;
    };

    // code is run as.
    alert(search("Here"));

【讨论】:

    猜你喜欢
    • 2013-07-21
    • 2023-03-13
    • 1970-01-01
    • 2021-08-26
    • 1970-01-01
    • 1970-01-01
    • 2020-11-13
    • 2017-07-15
    • 1970-01-01
    相关资源
    最近更新 更多