JavaScript - 类数组对象与数组

2019-10-20  本文已影响0人  ElricTang

类数组对象

例子:

  1. arguments
function arrayLike(){
    console.log(arguments);
    console.log(arguments.length);
}
arrayLike(1,2,3,4,5);
// [Arguments] { '0': 1, '1': 2, '2': 3, '3': 4, '4': 5 }
// 5
  1. DOM API(document.getElementsByTagName()等)
var a = document.getElementsByTagName('div');
Array.isArray(a);// false

如何将类数组对象转换为数组?

  1. Array.prototype.slice.call()
function arrayLike(){
    let res = Array.prototype.slice.call(arguments);
    console.log(res);
    console.log(Array.isArray(res));
}
arrayLike(1,2,3,4,5);
// [ 1, 2, 3, 4, 5 ]
// true
  1. Array.from()
function arrayLike(){
    let res = Array.from(arguments);
    console.log(res);
    console.log(Array.isArray(res));
}
arrayLike(1,2,3,4,5);
// [ 1, 2, 3, 4, 5 ]
// true
  1. 扩展运算符(...),针对有iterator接口的类数组对象
function arrayLike(){
    let res = [...arguments];
    console.log(res);
    console.log(Array.isArray(res));
}
arrayLike(1,2,3,4,5);
// [ 1, 2, 3, 4, 5 ]
// true
上一篇 下一篇

猜你喜欢

热点阅读