<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title></head><body> <ul> <li>1</li> <li>2</li> <li>3</li> <li>4</li> </ul> <script> // 数组的方法 from() of() // 1.from() 将伪数组转换成真正的数组 function add() { // console.log(arguments); // es5转换 // let arr = [].slice.call(arguments); // console.log(arr); // es6写法 let arr = Array.from(arguments); console.log(arr); } add(1, 2, 3); let lis = document.querySelectorAll('li') // console.log(lis); // console.log(Array.from(lis)); // 扩展运算符 将伪数组转换成真正的数组 // console.log([...lis]); // from() 还可以接受第二个参数,用来对每个元素进行处理 let liContents = Array.from(lis, ele => ele.textContent); // console.log(liContents); // 2.of() 将任意的数据类型,转换成数组 console.log(Array.of(3, 11, 20, [1, 2, 3], { id: 1 })); // 3.copywithin() 数组内部将制定位置的元素复制到其它的位置,返回当前数组 // 从3位置往后的所有数值,替换从0位置往后的三个数值 console.log([1, 2, 3, 8, 9, 10].copyWithin(0, 3)); //[8,9,10,8,9,10] // 4.find() findIndex() // find()找出第一个符合条件的数组成员 let num = [1, 2, -10, -20, 9, 2].find(n => n < 0) // console.log(num); // findIndex()找出第一个符合条件的数组成员的索引 let numIndex = [1, 2, -10, -20, 9, 2].findIndex(n => n < 0) // console.log(numIndex); // 5.entries() keys() values() 返回一个遍历器 可以使用for...of循环进行遍历 // keys() 对键名遍历 // values() 对值遍历 // entries() 对键值对遍历 // console.log(['a','b'].keys()); for (let index of ['a', 'b'].keys()) { console.log(index); } for (let ele of ['a', 'b'].values()) { console.log(ele); } for(let [index,ele] of ['a','b'].entries()){ console.log(index,ele); } let letter = ['a','b','c']; let it = letter.entries(); // console.log(it.next().value); // console.log(it.next().value); // console.log(it.next().value); // console.log(it.next().value); // 6.includes() 返回一个布尔值,表示某个数组是否包含给定的值 console.log([1,2,3].includes(2)); console.log([1,2,3].includes('4')); // 之前 indexof() console.log([1,2,3].indexOf('2')); </script></body></html>