比较字符串以查看它们是否相同

时间:2013-08-18 23:38:31

标签: jquery string loops compare

我想遍历一组字符串,看看它们是否彼此完全相同。如果循环的所有字符串都相同,我想运行一个函数。如果不是,请运行另一个功能。

$(".variationPrice").each(function(){
    var price = $(this).text();
        if(price == price){
             allMatch();
        } else{
             notMatch();
        }
});

换句话说,如果我们有以下数据,它将运行allMatch(): 55美元,55美元,55美元

如果我们有以下数据,它将运行noMatch(): 55美元,45美元,55美元

上述代码不起作用,但作为起点。在上面的代码中,价格总是与价格相匹配。我需要找出一种方法来存储变量中的第一个价格,并将所有结果与初始值进行比较。通过jquery / javascript比较字符串的好方法是什么?

更新 一个想法是将all全部推入一个数组,然后查看数组中是否有重复项:

var array1=[2,2,1,2,2,2];
function checkForDuplicates(arr){
var x = arr[0];
for(var i=1;i<arr.length;i++){
    if(x!=arr[i]){return 'at least one duplicate found'}
    }
return 'no duplicates found';
}

1 个答案:

答案 0 :(得分:1)

使用您的初始代码,您只需要在每个()范围之外提供一些变量。这段代码可以解决问题。

var allMatch = true;
var price;
$(".variationPrice").each(function(){
    if (price === undefined) {
        price = $(this).text();
    }
    if (price != $(this).text()){
        allMatch = false;
        return false; // No need to check the rest of the array..
    }
});

if (allMatch) {
    allMatch();
} else {
    notMatch();
}

根据评论的建议进行优化。