如何用JavaScript的for-in循环按顺序访问对象属性?
- 内容介绍
- 文章标签
- 相关推荐
本文共计355个文字,预计阅读时间需要2分钟。
需要遍历对象,将key+value分为两个数组,可以使用for-in循环。但获取到的对象中的属性及属性值排序是无序的,目标是要按顺序取出对象的key和value值。
实现效果:例如接口返回的对象。
javascriptfunction sortObjectKeys(obj) { let keys=[]; let values=[]; for (let key in obj) { if (obj.hasOwnProperty(key)) { keys.push(key); values.push(obj[key]); } } keys.sort(); let sortedResult=keys.map((key, index)=> ({ key: key, value: values[index] })); return sortedResult;}
// 示例对象let exampleObject={ c: 3, b: 2, a: 1};
// 调用函数并输出结果console.log(sortObjectKeys(exampleObject));
需要遍历对象,将key value分为两个数组,可以使用forin,但是获取到的对象中的属性及属性值排列是无序的,
目的是要按顺序取出对象中的key和value值。
实现效果:
比如接口返回的对象格式:
需要转换的格式:
实现代码:
//按序输出数据 for(let i in res.data.allMap){ this.mapTime.push(i); } this.mapTime.sort(); this.mapTime.map((item) => { this.mapValue.push(res.data.allMap[item]) })
实现思想:
还是先使用forin取出对象中的所有属性key,然后对该数组排序,再去原数组中匹配key值获取到对应的value值存放到另一个数组中即可。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。
本文共计355个文字,预计阅读时间需要2分钟。
需要遍历对象,将key+value分为两个数组,可以使用for-in循环。但获取到的对象中的属性及属性值排序是无序的,目标是要按顺序取出对象的key和value值。
实现效果:例如接口返回的对象。
javascriptfunction sortObjectKeys(obj) { let keys=[]; let values=[]; for (let key in obj) { if (obj.hasOwnProperty(key)) { keys.push(key); values.push(obj[key]); } } keys.sort(); let sortedResult=keys.map((key, index)=> ({ key: key, value: values[index] })); return sortedResult;}
// 示例对象let exampleObject={ c: 3, b: 2, a: 1};
// 调用函数并输出结果console.log(sortObjectKeys(exampleObject));
需要遍历对象,将key value分为两个数组,可以使用forin,但是获取到的对象中的属性及属性值排列是无序的,
目的是要按顺序取出对象中的key和value值。
实现效果:
比如接口返回的对象格式:
需要转换的格式:
实现代码:
//按序输出数据 for(let i in res.data.allMap){ this.mapTime.push(i); } this.mapTime.sort(); this.mapTime.map((item) => { this.mapValue.push(res.data.allMap[item]) })
实现思想:
还是先使用forin取出对象中的所有属性key,然后对该数组排序,再去原数组中匹配key值获取到对应的value值存放到另一个数组中即可。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

