Попытка объединить несколько строк в консоли в массив

#jquery #arrays #json

#jquery #массивы #json

Вопрос:

Я получаю поток json, и я пытаюсь извлечь из него значения и установить его в массив.

Это то, что я получаю внутри консоли:

Изображение консоли

Это мой код:

     jQuery(document).ready(function($) {
    var allData, exampleallData;

    allData = {
        'action': 'ajax'
    };  

    jQuery.get(ajaxurl, allData, function(response) {
        exampleallData = jQuery.parseJSON(response);
        jQuery.each(exampleallData, function(index, value) {
            if(value.meta_key === 'brand') {
                console.log(value.meta_value);
            }
        });

    });
});
 

Надеюсь, кто-нибудь может сказать мне, почему он прерывается на новых строках в консоли и какое решение для этого с объяснением.

Ответ №1:

Потому что с помощью этого:

 jQuery.each(exampleallData, function(index, value) {
        if(value.meta_key === 'brand') {
            console.log(value.meta_value);
        }
    });
 

Вы вызываете консоль.журнал для каждого элемента exampleallData .

Решением для этого должно быть создание нового пустого массива, затем добавление каждого элемента в этот массив и, наконец, консоль.зарегистрируйте новый массив.

Это должно быть что-то вроде этого:

 jQuery(document).ready(function($) {
var allData, exampleallData;

allData = {
    'action': 'ajax'
};  

jQuery.get(ajaxurl, allData, function(response) {
    var newArray = [];
    exampleallData = jQuery.parseJSON(response);
    jQuery.each(exampleallData, function(index, value) {
        if(value.meta_key === 'brand') {
            newArray.push(value.meta_value);
        }
    });
    console.log(newArray);

});
});