我需要檢查傳入數值數組是否與一組數值數組的任何變體匹配。我基本上只是堅持邏輯。查找數組中的數字組合
鑑於
var myData = [1, 201, 100]
以任意順序發現了以下預先設定的組合這三個數字
var combo1 = [1, 100, 200]
var combo2 = [1, 101, 201]
var combo3 = [1, 100, 201]
var combo4 = [1, 101, 200];
我嘗試到目前爲止是無處可去,所以我已經將其降低到這個 https://jsfiddle.net/0mvk9dj4/1/
var myData = [1, 201, 100];
var combo1 = [1, 100, 200]
var combo2 = [1, 101, 201]
var combo3 = [1, 100, 201]
var combo4 = [1, 101, 200];
var combos = [combo1, combo2, combo3, combo4];
function findCombo(data) {
var found = false
for (var i = 0; i < combos.length; i++) {
var combo = combos[i];
for (var x = 0; x < combo.length; x++) {
for (var y = 0; y < data.length; y++) {
if (data[y] === combo[x]) {
found = true;
break;
} else {
found = false;
}
}
}
}
console.log("Found? " + found)
return found;
}
findCombo(myData);
是否combo1-4修復,即在代碼執行期間不會更改? –
確實它們是固定的 – jozenbasin