#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);
});
});