它是一组数据,里面值的类型不限制,尽量存放相同类型的值,是一个特殊的object
let arr = new Array(10) //里面只有一个数值的时候,表示该数值的length(长度) let arr_1 = new Array(10, 20,undefined); let arr_2 = [1, 2,'你不对劲']; let arr_3 = Array(1, 2, 4,false);
let arr = [1, 2, 3, 4, 5, 6]; console.log(arr); // 可以通过length修改数组的长度,会改变原数组 arr.length=2 console.log(arr) arr.length = 6 console.log(arr) //可以通过下标获取数组的值,也可以通过下标修改值 console.log(arr[1]); arr[0] = "你好"; console.log(arr);
Array.isArray()
let arr = [1, 2, 3, 4, 5, 6]; // 1.普通for循环 for(let i = 0;i < arr.length; i++){ console.log(i) } // 2. for in (常用来遍历对象) for(let i in arr){ console.log(i) } // 新增内容 // 3.for of (遍历数组) for(let i of arr){ console.log(i) } // 高阶函数 forEach 没有返回值 arr.forEach(()=>{}) // map 也能遍历数组 有返回值 arr.map(function(item,index,arr){ console.log(item,index,arr) }) //forEach 和 map 的区别 //forEach(callback) 遍历数组,无return 即使有return,也不会返回任何值,并且会影响原来的数组 //map(callback) 映射数组(遍历数组),有return 返回一个新数组 。
push() // 在数组的后面添加元素,返回值是新的数组长度 pop() // 在数组的后面删除元素,返回值是删除的数组,只能删除一个 shift() //在数组的开头删除元素,返回值是删除的元素,只能删除一个 unshift() //在数组开头添加元素,返回值是新的数组长度 sort() // 数组排序,根据Ascii码排序,只能排小于10的数,默认升序 reverse() // 数组反转,返回值是反转后的数组 slice(start,end) //截取 ,不会改变原数组,返回值是截取后的数组,可以用来浅拷贝 concat() //数组合并 ,返回合并后的数组,可以用来浅拷贝 join() // 返回的是字符串,默认用','隔开,也可以指定样式 indexOf()//查找某个元素的索引值,若有重复的,则返回第一个查到的索引值若不存在,则返回 -1 splice()// splice 改变原来的数组 // 返回一个新的数组 // 2个参数,删除数据 // 3个参数,第二个参数为0,插入 // 第二个参数是1以上,替换 delete(arr_2[1]) // 删除下标的值,不会改变数组长度
forEach(callback) //遍历数组,无return 即使有return,也不会返回任何值,并且会影响原来的数组 map(callback) // 映射数组(遍历数组),有return 返回一个新数组 filter(callback) //数组过滤,返回满足条件后的数组 every(callback) //所有成员满足条件,返回turn some(callback) // 有一个成员满足条件,返回turn reduce(callback)