举例说明:
var json={ "name":"haha", "age":"10", "sex":"男" } for(key in json){ //console.log(key);//输出key(name,age,sex) console.log(json[key]);//输出value(haha,10,男) }
可以理解为数组, 数组和JSON都是对象,有相通的操作方法
主角:将对象转化为数组
对象:
let obj = {'未完成':5, '已完成':8, '待确认':4, '已取消':6};
3.1如果目标数组只是为了得到对象的key的集合或者value的集合还是相对容易的
var arr = [] for (let i in obj) { arr.push(obj[i]); //值 //arr.push(i); //属性 } console.log(arr);
结果:[5,8,4,6] 或者 ["未完成", "已完成", "待确认", "已取消"]
3.2如果要变成[{ },{ },{ }]的形式则push对象到一个数组中即可
var arr = []; for (let i in obj) { let o = {};//声明一个对象 o[i] = obj[i]; //console.log(o); arr.push(o);//每次将一个对象(o)push进去 } console.log(arr);
结果
(4) [{…}, {…}, {…}, {…}] 0: {未完成: 5} 1: {已完成: 8} 2: {待确认: 4} 3: {已取消: 6} length: 4
3.3如果要变成[[ ],[ ],[ ]]的形式,则只需要push一个数组到一个数组中即可,将上面的对象o,改变声明成数组即可
var arr = []; for (let i in obj) { let o = [];//改变声明成数组 o[i] = obj[i]; //console.log(o); arr.push(o);//每次将一个数组(o)push进去 } console.log(arr);
结果
(4) [Array(0), Array(0), Array(0), Array(0)] 0: [未完成: 5] 1: [已完成: 8] 2: [待确认: 4] 3: [已取消: 6] length: 4