Node.js中的jQuery.each()?

时间:2012-03-23 00:25:37

标签: javascript node.js loops foreach

我必须在JSON数组中循环以获取node中的一些信息,但我只知道如何在jQuery中使用$.each()。所以我想知道node.js中是否有$.each jQuery函数的替代方法?

4 个答案:

答案 0 :(得分:18)

您可以使用此

for (var name in myobject) {
   console.log(name + ": " + myobject[name]);
}

myobject可能是您的JSON数据

在此处查看答案:Looping through JSON with node.js

答案 1 :(得分:15)

您应该使用本机for ( key in obj )迭代方法:

for ( var key in yourJSONObject ) {
    if ( Object.prototype.hasOwnProperty.call(yourJSONObject, key) ) {
        // do something
        // `key` is obviously the key
        // `yourJSONObject[key]` will give you the value
    }
}

如果您正在处理数组,只需使用常规for循环:

for ( var i = 0, l = yourArray.length; i < l; i++ ) {
    // do something
    // `i` will contain the index
    // `yourArray[i]` will have the value
}

或者,您可以使用数组的原生forEach方法which is a tad slower,但更简洁:

yourArray.forEach(function (value, index) {
    // Do something
    // Use the arguments supplied. I don't think they need any explanation...
});

答案 2 :(得分:4)

在nodejs中,我发现Array.forEach(callback)最能满足我的需求。它就像jQuery一样工作:

myItems.forEach(function(item) {
   console.log(item.id);
});

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach

答案 3 :(得分:1)

jQuery只是javascript,你可以自己做循环。

我不知道你正在循环的JSON数组的结构,但你可以使用for..in方法来获取对象的每个属性。

所以你会做类似的事情:

    for( var i = 0; len = jsonArray.length; i < len; i++) {
        for(var prop in jsonArray[i]) {
         //do something with jsonArray[i][prop], you can filter the prototype properties with hasOwnProperty
        }
}

此外,您可以使用Array提供的forEach方法,其工作方式与jQuerys .each()

相似 祝你好运!