2016-08-09 16 views
0

Ich habe diese Art von gezackten Array, wenn 4. Position ist gleich (1) dann ist die Rückkehr wahr.JQuery: Restricted Duplicate Wert in gezackten Array

[ 
["1","Normal","0.00","1"], 
["2","High","0.00","1"], 
["3","Medium","0.00","1"], 
["4","Low","0.00","1"] 
] 
+0

Und was ist Ihre Frage? –

+0

Wenn doppelte Datensätze in der 4. Position gefunden werden, ist die Rückgabe wahr. –

+0

Sie müssen überprüfen, ob das Array doppelte Datensätze enthält. – sameer

Antwort

0

Nur nicht verwenden:

var inputArray = [ 
    ["1","Normal","0.01","1"], 
    ["2","High","0.03","9"], 
    ["3","Medium","0.00","3"], 
    ["4","Low","0.00","1"] 
]; 

var hasDuplicate = !!inputArray.find(function(item, index, arr) { 
    return !!arr.find(function(itemInner, indexInner, arrInner) { 
     return itemInner[2] == item[2] && index != indexInner; 
    }); 
}); 
alert(hasDuplicate); 

prüfen die Geige: https://jsfiddle.net/t7noyLbe/

0
arr = [["1","Normal","0.00","1"], 
["2","High","0.00","1"], 
["3","Medium","0.00","1"], 
["3","Medium","0.00","1"]]; 

function checkForDuplicate(arr, pos) { 
    var itemsToCheck = {}; 
    var stringifiedPosObj = JSON.stringify(arr[pos]); 
    itemsToCheck[stringifiedPosObj] = true; 
    for(var i = 0, l = arr.length; i < l; i++) { 
     if(i !== pos) { 
     var stringified = JSON.stringify(arr[i]); 
     if(itemsToCheck[stringified]) { return true; break; } 
     } 
    } 
    return false; 
} 

console.log(checkForDuplicate(arr, 3)); 

Der obige Code für Duplikate in der gegebenen poition BTW

0
var inputArray = [ 
["1","Normal","0.00","1"], 
["2","High","0.00","9"], 
["3","Medium","0.00","3"], 
["4","Low","0.00","1"] 
]; 
var duplicate = false; 
jQuery.each(inputArray, function(index, item){ 
    if(item.length > 3 && jQuery.grep(inputArray, function(n, i){return n.length > 3 && n[3] == item[3]}).length > 1) 
    { 
     duplicate = true; 
     return false; 
    }}); 
return duplicate; 

überprüfen wird, bearbeitet ich Ihre Eingabe-Array.