0

IDの配列を関数に渡し、各値が別の配列にあるかどうかを確認してTRUEを返すことができるようにするjavascript(可能であればjQuery)の関数が必要です。

例えば

var ids1 = [1, 6, 9, 11, 20];
var ids2 = [5, 6, 9, 11];

function check_array(ids)
{
    var search = [1, 6, 9, 11, 20];
    // do some checking here

    // if all ids are matched up return TRUE; 

    // otherwise return FALSE;
}

この場合、最初の変数 ids1 は TRUE を返し、2 番目の変数 ids2 は FALSE を返します。

誰でもこれのための最も簡単でクリーンな方法を提案できますか?

4

2 に答える 2

2
function check_array(ids1, ids2) {
    return $(ids1).not(ids2).get().length === 0;
}

var ids1 = [1, 6, 9, 11, 20];
var ids2 = [5, 6, 9, 11];
console.log(check_array(ids1, ids2)); // false
console.log(check_array(ids2, ids1)); // false
var search = [1, 6, 9, 11, 20];
console.log(check_array(search, ids2)); // false
console.log(check_array(search, ids1)); // true

上記の一般的なバージョンで十分ですが、まさにあなたが求めるものは次のとおりです。

function check_array(ids) {
    var search = [1, 6, 9, 11, 20];
    return $(search).not(ids).get().length === 0;
}
var ids1 = [1, 6, 9, 11, 20];
var ids2 = [5, 6, 9, 11];
console.log(check_array(ids1)); // true
console.log(check_array(ids2)); // false
于 2013-06-25T12:59:17.917 に答える
1

数値 ID しかない場合は、これがおそらく最も簡単な方法です。

[1,2,3].toString() === [1,2,3].toString() //=> true

配列 A のすべての ID が配列 B に存在するかどうかを判断したい場合 (ただし、配列 B には他の ID がある場合があります)、[].everyを試してください。

于 2013-06-25T12:58:02.013 に答える