JS数组知识的相关整理(一)

296 阅读1分钟

Array.from()用于将类数组结构转换为数组实例

(1)将字符串拆分为单字符数组

console.log(Array.from("muyunlu"))   //['m', 'u', 'y', 'u', 'n', 'l', 'u']

(2) 将set结构数据转化为一个新的数组

let arr = [12,45,97,9797,564,134,45642]
let set = new Set(arr)
console.log(Array.from(set))       // [ 12, 45, 97, 9797, 564, 134, 45642 ]

(3)实现数组的浅拷贝

 const arr1 = [1, 2, 3, 4]; 
 const arr2 = Array.from(arr1);
 console.log(arr2)                // [1, 2, 3, 4]
 console.log(arr1 === arr2)       //false

(4) 还接收第二个可选的映射函数参数

const arr1 = [1, 2, 3, 4]; 
const arr2 = Array.from(arr1, x => x**2);
console.log(arr2);                 // [1, 4, 9, 16]

Array.of()将一组参数转换为数组

console.log(Array.of(1, 2, 3, 4));           // [1, 2, 3, 4] 
console.log(Array.of(undefined,false,null)); // [undefined,false,null]

Array.isArray()检测数组

let arr=[];
let srt = ''
console.log(Array.isArray(arr))   //true
console.log(Array.isArray(srt))  //fales

fill()批量复制

let arr = [0, 0, 0, 0, 0];
arr.fill(1)          //填充所有
console.log(arr)     //[1, 1, 1, 1, 1]
arr.fill(0)          //重置为0

arr.fill(2,3)        //将索引大等于3的元素填充为2
console.log(arr)     //[0, 0, 0, 2, 2]
arr.fill(0)          //重置为0

arr.fill(3,1,3)      //将索引大等于1小于3的元素填充为3
console.log(arr)     
arr.fill(0)  

join()将数组转化成字符串

let person = ['关羽','张飞','赵云','黄忠','马超']
//以逗号对数组的元素进行拼接
console.log(person.join(','))           //关羽,张飞,赵云,黄忠,马超

//以空字符串对数组的元素进行拼接
console.log(person.join(''))            //关羽张飞赵云黄忠马超

//如果不给 join() 传入任何参数,或者传入undefined ,则仍然使用逗号作为分隔符
console.log(person.join())            //关羽,张飞,赵云,黄忠,马超
console.log(person.join(undefined))     //关羽,张飞,赵云,黄忠,马超