比较数组中的字符串

时间:2017-02-21 07:24:40

标签: javascript jquery arrays string

如果我有这样的数组:

arr = ["hey", "some", "string", "aaa", "ccc"];

我想比较数组中是否有相同的字符串但是有一个特殊的规则:

如果arr [1] =="某些"

arr = ["hey", "bbb", "string", "aaa", "ccc"];    //return true
arr = ["hey", "some", "string", "aaa", "bbb"];   //return true
arr = ["hey", "some", "string", "aaa", "some"];  //return false

我已经知道如何将字符串与此代码进行比较:

var arr = ["hey", "some", "string", "aaa", "ccc"];
var val = $('#somethingFromTableForm').val();
for(var i = 0; i < arr.length; i++) {
    if (arr[i].indexOf(val) > -1){
        alert("same string");
        return false;
    }
}
return true;

但是如何将字符串与此特殊规则进行比较?

1 个答案:

答案 0 :(得分:0)

您可以使用Array#indexOfArray#lastIndexOf并检查Array#every每个元素的相等性。

&#13;
&#13;
function check(array) {
    return array.every(function (a, i, aa) {
        return i === aa.lastIndexOf(a);
    });
}

console.log(check(["hey", "bbb", "string", "aaa", "ccc"]));   // true
console.log(check(["hey", "some", "string", "aaa", "bbb"]));  // true
console.log(check(["hey", "some", "string", "aaa", "some"])); // false
&#13;
&#13;
&#13;