z-dl
类数组转换成数组:
//定义一个类数组对象
let arrayLike = {
    \'0\': \'a\',
    \'1\': \'b\',
    \'2\': \'c\',
    length: 3
};

//1.ES5的写法
var arr1 = Array.prototype.slice.call(arrayLike);
var arr2 = [].slice.call(arrayLike);

//2. ES6的写法
let arr3 = Array.from(arrayLike)

//打印的结果:
console.log(arr1) //[\'a\',\'b\',\'c\']
console.log(arr2) //[\'a\',\'b\',\'c\']
console.log(arr3) //[\'a\',\'b\',\'c\']
//3. 任何 Iterator 接口的对象(参阅 Iterator),都可以用扩展运算符转为真正的数组。

let nodeList = document.querySelectorAll(\'div\');
let array = [...nodeList];
//对于那些没有部署 Iterator 接口的类似数组的对象,扩展运算符就无法将其转为真正的数组。

let arrayLike = {
  \'0\': \'a\',
  \'1\': \'b\',
  \'2\': \'c\',
  length: 3
};

// TypeError: Cannot spread non-iterable object.
let arr = [...arrayLike];
// 上面代码中,arrayLike是一个类似数组的对象,但是没有部署 Iterator 接口,扩展运算符就会报错。这时,可以改为使用Array.from方法将arrayLike转为真正的数组。

 


字符串转换成数组:
//定义一个字符串
let str = \'abc\'

//ES5的写法
let arr = [].slice.call(str)
let arr1 = str.split(\'\')

//ES6的写法
let arr2 = [...str]

//打印的结果
console.log(arr)  //[\'a\',\'b\',\'c\']
console.log(arr1) //[\'a\',\'b\',\'c\']
console.log(arr2) //[\'a\',\'b\',\'c\']

数组转成字符串:

//定义一个数组
let arr = [1,2,3,4,5]

//方法一
let str = arr.join(\'\')
//方法二
let str1 = arr.toString().replace(/,+/g,"");

//打印的结果
console.log(str) // 12345
console.log(str1) // 12345


 

分类:

技术点:

相关文章: