在Javascript中迭代数组

时间:2016-07-21 11:04:09

标签: javascript jquery arrays

我想解析它并查找此数组中是否只存在两个值。

示例:"文字成功"或者"静音"如果EXIST ONCE返回数组

如果EXIST两次退回null

示例:

Array[6]
0:"text-warning"
1:"text-success"
2:"text-warning"
3:"text-success"
4:"muted"
5:"text-warning"

Array[6]
0:"text-warning"
1:"text-warning"
2:"text-warning"
3:"text-warning"
4:"text-success"
5:"text-warning"

Array[6]
0:"text-warning"
1:"text-warning"
2:"text-warning"
3:"text-success"
4:"muted"
5:"text-warning"

Array[6]
0:"text-warning"
1:"text-warning"
2:"text-warning"
3:"text-warning"
4:"muted"
5:"text-warning"

第一个将返回FALSE,因为它们都存在"文本成功" -twice AND"静音" -once

第二个将返回TRUE,因为它存在ONCE" text-success"

第3个将返回FALSE,因为它们都存在" text-success"和"静音"

第4个将返回TRUE,因为它存在ONCE"静音"

。 。 。

等等

到目前为止,这是我的Javascript:

function singles( array ) {
    for( var index = 0, single = []; index < array.length; index++ ) {
        if( array.indexOf( array[index], array.indexOf( array[index] ) + 1 ) == -1 ) single.push( array[index] );    
    };
    return single;
};

它不能正常工作

请帮忙。

1 个答案:

答案 0 :(得分:2)

您可以使用带计数器的简单循环,如下所示:

var count = 0;
for(i=0;i<arr.length;i++) {
if(arr[i] == "test-success" || arr[i] == "muted") {
count++;
}
if(count == 1) {
//process array data;
}