jQuery.each () в Node.js? - PullRequest
       32

jQuery.each () в Node.js?

9 голосов
/ 23 марта 2012

Я должен зациклить массив JSON, чтобы получить некоторую информацию в node, но я знаю, как это сделать, используя $.each() в jQuery.Поэтому я хочу знать, есть ли альтернатива для $.each jQuery функции в node.js?

Ответы [ 4 ]

18 голосов
/ 23 марта 2012

Вы можете использовать это

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

Где myobject может быть вашими данными JSON

Проверьте ответ здесь: Цикл по JSON с node.js

15 голосов
/ 23 марта 2012

Вы должны использовать собственный итерационный метод 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, , который немного медленнее , но более краткий:

yourArray.forEach(function (value, index) {
    // Do something
    // Use the arguments supplied. I don't think they need any explanation...
});
4 голосов
/ 19 июля 2015

В 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

1 голос
/ 23 марта 2012

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
        }
}

Также вы можете использовать forEach метод, который обеспечивает Array, который работает аналогично jQuerys .each()

удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...