entries

# Object.entries(obj) (opens new window)

  • 参数: 可以返回其可枚举属性的键值对的对象
  • 返回值: 给定对象自身可枚举属性的键值对数组
// 对象
const obj = { name: 'Ethan', sex: 'Male'}
Object.entries(obj)
// [['name', 'Ethan'],['sex', 'Male']]

// 数组
const arr = [1, 2, 3]
Object.entries(arr)
// [['0', 1], ['1', 2], ['2', 3]]

# Array.prototype.entries() (opens new window)

  • 是Array原型上的方法

  • 返回值: 一个新的Iterator(迭代器对象),包含数组中每个索引的键值对, 它的原型上有一个next方法, 用于遍历迭代器取得原数组的[key, value]

  • 语法:arr.entries()

const arr = [1, 2, 3]
var iterator = arr.entries()
console.log(iterator.next())
/*
    通过iterator.next()查看值
    返回一个对象,对于有元素的数组
    是next{ done:false, value: [0, 1] }
    next.done用于指示迭代器是否完成, 在每次迭代时进行更新且都为false
    只有迭代器结束done才会true
    next.value是一个数组, 返回迭代器中的元素值
*/