gpt4 book ai didi

javascript数组推送问题

转载 作者:行者123 更新时间:2023-11-30 08:33:28 26 4
gpt4 key购买 nike

我有以下对象:

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

我附上了一个 fiddle link为了这。我想问题出在数组推送函数的使用上。请帮忙。

最佳答案

您只需删除计数变量初始化之外的方括号。尝试:

var count = data.count;

代替:

var count = [data.count];

Fiddle已更新。

关于javascript数组推送问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34542231/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com