1

私はjQueryの基本にかなり取り組んでいます.Javaであれば簡単にできたでしょう:P

var thread_list = [];
var feed_list = [];

$.each(json.messages, function(i, m) {
    if (m.replied_to_id == "") {
        alert(m.thread_id);
        thread_list.push(m.thread_id);
    }
});

$.each(json.references, function(i, r) {
    if (r.id exists in threadList) {  //how do I do this more effectively?
        feed_list.push(r.url);
    }
});

リストに存在する要素を見つける方法は?

4

5 に答える 5

1
jQuery.inArray(r.id , threadList); //give 0 to any positive number if exist otherwise give -1

配列参照

于 2013-08-27T08:42:41.260 に答える
1

filter最新のブラウザでは、 の機能を使用できます[]

var thread_list = [{id:1},{id:2},{id:3}];
var feed_list = [];

function exists(arr,prop,val){
    var threads = arr.filter(function(e){
        return e[prop] == val;
    });
    return !!threads.length;
}


alert(exists(thread_list, "id", 4)); //returns false
alert(exists(thread_list, "id", 2)); //returns true

JS フィドル: http://jsfiddle.net/7vTWj/

于 2013-08-27T08:44:53.630 に答える
0

使用indexOf():

if (threadList.indexOf(r.id) != -1)

を持っていない古いブラウザを使用している場合はindexOf()、次を使用できますjQuery.inArray()

if ($.inArray(r.id, threadList) != -1)
于 2013-08-27T08:42:37.723 に答える
0

簡単に使用できます

if ( $.inArray(r.id, threadList ) != 1 )
于 2013-08-27T09:04:34.183 に答える