У меня есть ниже объект:Javascript массив толчок вопрос
Configs = {};
Configs['category'] = [];
Configs['category']['prod1'] = [];
Configs['category']['prod1'].hosts ={
'table': {
'count': 'total_remaining',
'specs': [
{
'name': 'Test 1',
'code': 'BrandName.Cat.Code.[X].Price'
}
]
}
};
Я пытаюсь создать массив элементов, запрашиваемая из базы данных, используя код ниже:
var data = Configs["category"]["prod1"].hosts.table;
var count = [data.count];
var names = data.specs;
var namesArray = names.map(function(names) {
var str = names['code'];
var requiredPortion = str.split("[X]");
var newStr = requiredPortion[0];
return newStr;
});
requestData = namesArray.reduce(function(a,b){if(a.indexOf(b)<0)a.push(b);return a;},[]); //remove duplicates
requestData.push(count);
console.log(count);
console.log(requestData);
Нужный выход является:
["BrandName.Cat.Code.", "total_remaining"]
Но, при выполнении моего кода я получаю следующий результат:
["BrandName.Cat.Code.", Array[1]]
У меня есть скрипка link для этого. Я думаю, проблема связана с использованием функции push-массива. Пожалуйста помоги.
Ваша ссылка на скрипку, кажется, работает –
Выполнял проб и ошибок. Просто заметил, что я понял. –