一、通过for循环把一个对象变为 1 个数组
let obj = {
name: 'aaa',
height: 190,
sex: 'man',
};
let objNew = [];
for (let i in obj) {
objNew.push({ [i]: obj[i] })
}
console.log('objNew',objNew);
let test = {
livenessDetection: {
amout: [1, 2, 3, 4, 5, 5],
num: [2.3, 4.5, 2, 6, 2, 1]
},
lives: {
amout: [1, 2, 3, 4, 5, 5],
num: [2.3, 4.5, 2, 6, 2, 1]
}
};
let newArr = [];
for (let j in test) {
console.log('j',j);
console.log('test[j]', test[j]);
newArr.push({ [j]: test[j] })
}
console.log(newArr);
二、通过for循环把一个对象变为 2 个数组(得到对象的key的集合或者value的集合)
let amout = {
'2021-10-02': 0,
'2021-10-02': 0,
'2021-10-03': 0,
'2021-10-04': 0,
'2021-10-05': 0,
'2021-10-06': 0,
'2021-10-07': 0,
'2021-10-08': 2.2,
'2021-10-09': 2.5,
'2021-10-10': 0,
'2021-10-11': 0,
'2021-10-12': 0,
'2021-10-13': 0,
'2021-10-14': 0,
'2021-10-15': 0,
'2021-10-16': 0,
'2021-10-17': 0
};
let arr = [];
let arr2 = [];
for (let j in amout) {
arr.push(j);
arr2.push(amout[j]);
}
console.log(arr);
console.log(arr2);
//['2021-10-02', '2021-10-03', '2021-10-04', '2021-10-05', '2021-10-06', '2021-10-07', '2021-10-08', '2021-10-09',
'2021-10-10', '2021-10-11', '2021-10-12', '2021-10-13', '2021-10-14', '2021-10-15', '2021-10-16', '2021-10-17']
//[0, 0, 0, 0, 0, 0, 2.2, 2.5, 0, 0, 0, 0, 0, 0, 0, 0]
上面数组也可能通过Object.keys()获取自身属性,Object.keys返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历(enumerable)属性的键名。
Object.keys(amout);
通过Object.values()获取键值。Object.values
方法返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历(enumerable)属性的键值。
Object.values(amout);