Object.entries()
Object.entries()
方法返回一个给定对象自身可枚举属性的键值对数组,其排列与使用 for...in
循环遍历该对象时返回的顺序一致(区别在于 for-in 循环还会枚举原型链中的属性)。
1. 处理字符串
let arr = 'james'
let b = Object.entries(arr)
console.log(b); //[["0","j"],["1","a"],["2","m"],["3","e"],["4","s"]]
2. 处理对象
const obj = { 0: 'a', 1: 'b', 2: 'c' };
console.log(Object.entries(obj)); // [ ['0', 'a'], ['1', 'b'], ['2', 'c'] ]
2.1 如果对象的属性 的 key是乱序的,就会进行排序
let arr1 = {3: 'kobe', 1: 'james', 2: 'davs'}
let a = Object.entries(arr1)
console.log(a); // [['1': 'james'],['2': 'davs'],['3': 'kobe']]
3. 处理数组
const arr = [1, 2, 3];
console.log(Object.entries(arr)); // [['0', 1], ['1', '2'], ['2', '3']]
3.1 处理数组(里面包含对象)
const arr1 = [{ a: 1 }, 2, 3];
console.log(Object.entries(arr1)); // [['0', { a: 1 }], ['1', '2'], ['2', '3']]
3.2 处理数组(里面全是对象)
const arr2 = [{ a: 1 }, { b: 2 }, { c: 3 }];
console.log(Object.entries(arr2)); // [['0', { a: 1 }], ['1', { b: 2 }], ['2', { c: 3 }]]
4. 处理数字和浮点数
const num = 123;
console.log(Object.entries(num)); // [] 返回空数组
const float1 = 12.3;
console.log(Object.entries(float1)); // [] 返回空数组