Привет, вот мое решение.
Вы можете проверить скрипку, если вы хотите попробовать: https://jsfiddle.net/arnaudbertrand/skgo9yay/
var d2 = [
[0, 1, 2],
[3, 4, 5],
[6, 7, 8]
];
var b = [7, 4, 1];
function inArrayWithoutOrder(d2, d1) {
var match = false;
d2.forEach(function (arr) {
var temp = d1.slice(0);
arr.forEach(function (e) {
var i = temp.indexOf(e);
if (i != -1) {
temp.splice(i, 1);
} else {
return false;
}
});
if (temp.length == 0) {
match = true;
}
});
return match;
}
function invertRowColumn(d2) {
var newArray = [];
d2.forEach(function (d1, i) {
d1.forEach(function (e, j) {
if (i == 0) {
newArray[j] = [];
}
newArray[j].push(e);
});
});
return newArray;
}
function inArrayColumnRowWithoutOrder(d2, b){
return inArrayWithoutOrder(d2, b) || inArrayWithoutOrder(invertRowColumn(d2),b);
}
Затем вы можете использовать: inArrayColumnRowWithoutOrder (d2, б)
Вы, вероятно, может сделать это выглядеть лучше, но, по крайней мере, кажется, делать то, что вы ищете