因此咱们为何还要使用数组呢?
定义一个数组 let numbers =[1,2,3,4,5,6]javascript
//在数组的最后一个位置添加元素 numbers.push(11) //1,2,3,4,5,6,11 //在数组的头部位置添加一个元素 for (var i = numbers.length; i > 0; i--) { numbers[i] = numbers[i-1] } numbers[0] = -1 alert(numbers) // -1,1,2,3,4,5,6 (取到最后一个元素的后面一个位置,从后开始,将前面的一个赋值给后面一个,最后就空出头部位置了)
// 删除最后的元素 numbers.pop() //1,2,3,4,5 //删除头部的元素 numbers.shift() //2,3,4,5,6
//删除 指定位置的几个元素 (几个元素,不是第几个) numbers.splice(1, 2) //1,4,5,6 //修改 指定位置的几个元素 numbers.splice(1, 2, "a", "b") //1,a,b,4,5,6 这种操做会先删除,在添加写入的元素:先从索引1开始删除两个,在从删除的地方加上a,b两个元素 eg: numbers.splice(1, 2, "a") //1,a,4,5,6 numbers.splice(1, 3, "a") //1,a,5,6
concats | 链接两个或者更多数组,并返回结果 |
---|---|
every | 对数组中的每一项运行给定函数,若是该函数对每一项都返回 true ,则返回true , 不然返回false |
filter | 对数组中的每一项运行给定函数,返回该函数会返回 true 的项组成的数组 |
forEach | 对数组中的每一项运行给定函数。这个方法没有返回值 |
join | 将全部的数组元素链接成一个字符串 |
indexOf | 返回第一个与给定参数相等的数组元素的索引,没有找到则返回-1 |
lastIndexOf | 返回在数组中搜索到的与给定参数相等的元素的索引里最大的值 |
map | 对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组 |
reverse | 颠倒数组中元素的顺序,原先第一个元素如今变成最后一个,一样原先的最后一个元素变成了如今的第一个 |
slice | 传入索引值,将数组里对应索引范围内的元素做为新数组返回 |
some | 对数组中的每一项运行给定函数,若是任一项返回 true ,则结果为true , 而且迭代结束 |
sort | 按照字母顺序对数组排序,支持传入指定排序方法的函数做为参数 |
toString | 将数组做为字符串返回 |
valueOf | 和 toString 相似,将数组做为字符串返回 |
// 数组的合并 var nums1 = [1, 2, 3] var nums2 = [100, 200, 300] var newNums = nums1.concat(nums2) alert(newNums) // 1,2,3,100,200,300
// 定义数组 var names = ["abc", "cb", "mba", "dna"] // 判断数组的元素是否都包含a字符 var flag = names.every(function (t) { return t.indexOf('a') != -1 //indexof方法等于-1为没找到,找到了返回第一个索引 }) alert(flag) //false
// 定义数组 var names = ["abc", "cb", "mba", "dna"] // 判断数组中是否包含有a字符的字符 var flag = names.some(function (t) { alert(t) return t.indexOf("a") != -1 }) alert(flag)
// 定义数组 var names = ["abc", "cb", "mba", "dna"] // forEach的使用 names.forEach(function (t) { alert(t) }) //弹出四次框 ,分别对应数组的每一项
另外三个filter,map,reduce方法在关于js的随笔中有所阐述java