如何将JSON数据列转换为指定格式的数组?
将JSON对象转换为指定数组
需求说明
现有一个以数字为键的对象,需要提取每个子对象中的id值,组成目标数组:
原始数据:
var data = {1:{id: '2014-924', name: 'abc'},2:{id: '2014-925', name: 'xyz'}};
期望结果:
var result = ['2014-924','2014-925'];
方法1:简洁现代写法(推荐)
利用Object.values()获取对象的所有子对象,再通过map()提取id:
const result = Object.values(data).map(item => item.id);
方法2:通过对象键遍历
先获取对象的所有键,再通过键访问对应子对象提取id:
const result = Object.keys(data).map(key => data[key].id);
方法3:兼容旧环境的for循环
如果需要支持低版本JS环境,使用传统for循环遍历:
var result = []; for (var key in data) { if (data.hasOwnProperty(key)) { result.push(data[key].id); } }
内容的提问来源于stack exchange,提问作者Swadhin Chanda
相关产品推荐
相关产品推荐

