javascript数组推送问题

标签 javascript jquery arrays

我有以下对象:

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/

相关文章:

javascript - Sitecore 7 功能区添加链接

javascript - 在网格中向下滑动 div 的底部,而不滑动整行。

javascript - Ajax 和 Php 帖子问题

javascript - 如何每 5 秒更新一次传单标记

c++ - 如何从函数返回 char 数组?

java - 数组实例化继承

javascript - 谷歌地图不显示,但添加了 dom 标签元素

javascript - 在与按钮相同的 div block 中获取跨度的内部文本

javascript - 我已经构建了自动完成输入框(但是foucsout有问题)

有人可以简化下面的代码 struct {int a[2];} arr[] = {{1},{2}}; 吗?