JS_数组的操作
1.join()方法
<script> var wdc = [1,2,3,4,5]; // 将数组中的参数用‘+’号连接,并转换为字符串 var qqq = wdc.join('+'); console.log(qqq) </script>
结果:
2.栈(后进先出)方法
push():往数组的最后一项添加内容。
<script> var wdc = [1,2,3,4,5]; // 往数组的末端插入‘123’,并将插入后数组的长度返回 var newlength = wdc.push('123'); console.log(newlength); console.log(wdc); </script>
结果:
pop():从数组末尾删除最后一项
<script> var wdc = [1,2,3,4,5]; // 删除数组的最后一个元素,并将获取删除的最后一个元素 var lastTtem = wdc.pop(); console.log(lastTtem); console.log(wdc); </script>
结果:
3.队列(先进先出)方法
unshift():往数组的第一项添加内容
<script> var wdc = [1,2,3,4,5]; // 往数组的开头插入‘123’,并将插入后数组的长度返回 var newlength = wdc.unshift('qqq'); console.log(newlength) console.log(wdc) </script>
结果:
shift():删除数组的第一项内容
<script> var wdc = [1,2,3,4,5]; // 删除数组的第一个元素,并将获取删除元素 var firstItem = wdc.shift(); console.log(firstItem) console.log(wdc) </script>
结果:
4.数组排序
倒叙:
<script> var wdc = [1,2,3,4,5]; // 数组倒序 wdc.reverse(); console.log(wdc) </script>
结果:
ASCII码排序:
<script> var wdc = [1,12,3,14,5]; // ASCII码排序(根据字符ascii码一位一位的升序) wdc.sort() console.log(wdc) </script>
结果:
升序:
<script> var wdc = [1,12,3,14,5]; // 升序 function compare(a,b){ if(a < b){ return -1; }else if(a > b){ return 1; }else{ return 0; }
// 或:return a - b; } wdc.sort(compare) console.log(wdc) </script>
结果:
降序:
<script> var wdc = [1,12,3,14,5]; // 降序 function compare1(a,b){ if(a < b){ return 1; }else if(a > b){ return -1; }else{ return 0; }
// 或:return b - a;
} wdc.sort(compare1) console.log(wdc) </script>
结果:
5.数组合并
<script> var colors = ['red', 'blue']; // 将元素‘green’合并到数组colors,元素可以是对象、数组…… var newColors = colors.concat('green'); console.log(newColors) </script>
结果:
6.数组切割
<script> var colors = ['red', 'blue', 'green']; // 从下标为1位置切割数组,包里后面的数据。 var newColors1 = colors.slice(1) // 切割从下标为1的位置,直到下标为2的位置之前 var newColors2 = colors.slice(1,2) console.log(newColors1) console.log(newColors2) </script>
结果:
7.splice() 删除、插入、替换
删除:
<script> var names = ['张三', 'lisi', 'wangwu', 'zhaoliu']; // 从0开始删除2个元素 names.splice(0,2); console.log(names) </script>
结果:
插入:
<script> var names = ['张三', 'lisi', 'wangwu', 'zhaoliu']; // 从1开始,删除0个元素,插入'qqqq', 'qweqr'。 names.splice(1, 0, 'qqqq', 'qweqr'); console.log(names) </script>
结果:
替换:
<script> var names = ['张三', 'lisi', 'wangwu', 'zhaoliu']; // 从1开始,删除1个元素,插入'wdc'。(相当于替换~) names.splice(1, 1, 'wdc'); console.log(names) </script>
结果:
8.位置
<script> var names = ['张三', 'lisi', 'wangwu', 'lisi', 'zhaoliu']; // 从前往后查找‘lisi’的位置 console.log(names.indexOf('lisi')) // 从后往前查找‘lisi’的位置 console.log(names.lastIndexOf('lisi')) // 从小标为2的位置往后查找‘lisi’的位置 console.log(names.indexOf('lisi', 2)) // 从小标为2的位置往前查找‘lisi’的位置 console.log(names.lastIndexOf('lisi', 2)) </script>
结果:
如果查到了值,则返回值的下标,如果没有查到,则返回‘-1’。
8.数组的迭代
过滤:filter()
<script> var numbers = [1,2,3,4,5,45,15,67,5,9,8,64] // 过滤掉数组中小于10的数值 var filterResult = numbers.filter(function(item, insex, array){ return item > 10 }) console.log(filterResult) </script>
结果:
映射:map()
<script> var numbers = [1,2,3,4,5,45,15,67,5,9,8,64] // 将数组中的数值乘以2 var mapersult = numbers.map(function(item,index,array){ return item * 2 }) console.log(mapersult) </script>
结果:
遍历数组:forEach()
<script> var numbers = [1,2,3,4,5,45,15,67,5,9,8,64] // 遍历数组中的值 var mapersult = numbers.forEach(function(item,index,array){ console.log(item) }) </script>
结果:
9.map()方法的应用:
<script> var oldArray = [ {name:'zhangsan',age:13}, {name:'lisi',age:14}, {name:'wangwu',age:15} ] // 将数组oldArray中的name和age分别放到两个数组中。 var newNames = oldArray.map(function(item,index,array){ return item.name }) var newAges = oldArray.map(function(item,index,array){ return item.age }) console.log(newNames) console.log(newAges) </script>
结果: