javascript - 将 json 对象的不同字段的值合并到单个数组中

标签 javascript jquery json ajax

对某个 url 进行 ajax 调用后,我会以 json 对象的形式返回数据,格式如下:

{"feild1":["val1","val2","val3",...,"valn"],
 "feild2":["vala","valb","valc",...,"valx"]}

我想组合 feild1 和 feild2 的值,这样我就有一个类型的数组:

["val1","val2","val3",...,"valn","vala","valb","valc",...,"valx"]

所以我可以将这个单个数组发送到响应函数以进行自动完成。如果我先发送 data.feild1,然后发送 data.feild2,则 data.feild2 的值仅显示在下拉列表中。

最佳答案

迭代Object#keysArray#map将数组提取为数组数组,然后通过应用 Array#concat 进行展平:

var data = {"feild1":["val1","val2","val3","valn"], "feild2":["vala","valb","valc","valx"]};

var result = [].concat.apply([], Object.keys(data).map(function(key) {
  return data[key];
}));

console.log(result);

或者使用 ES6 spread syntaxObject#Values提取子数组:

const data = {"feild1":["val1","val2","val3","valn"], "feild2":["vala","valb","valc","valx"]};

const result = [].concat(...Object.values(data));

console.log(result);

关于javascript - 将 json 对象的不同字段的值合并到单个数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46659426/

相关文章:

javascript - json解析空响应时Whatwg Fetch失败,我该如何防止它?

java - 如何只返回 JSON 对象中的某些字段?

javascript - 模块的 RequireJS 回调依赖

javascript - 如何使用 Sequelize 继续搜索数据库?

javascript - 创建 3 个选择框(月、日、年),为每个选项创建 php 循环选项,并在 `days` 更改时使用 Javascript 更改 `months` 的选项

javascript - JSON - 语法错误 : Unexpected token &

php - 使用 jquery 从显示页面上的 php 输出中获取信息

jquery CSS 在 webkit 中不起作用

json - 返回列表中名字以某个值开头的对象

jquery - 等待 TinyMCE 加载