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)); // [] 返回空數組