concat()
reverse()
sort()
<script type="text/javascript">
arr1 = ["芜湖"];
arr2 = ["大司马"];
arr3 = ["起飞"];
arr4 = ["炫炫", "汪汪汪", "我疯狂的炫", "狗狗大队"];
arr5 = ["b", "d", "e", "a", "c", "f",];
arr6 = ["11", "2", "6", "4", "3", "1", "8",];
arr7 = [11, 2, 6, 4, 3, 1, 8,];
// concat(数组1,数组2,"元素","元素")
//不会对原素组产生影响
var result = arr1.concat(arr2, arr3);
console.log(result);//["芜湖", "大司马", "起飞"]
//join
// 可以将数组转为一个字符串
// 该方法不会对原数组产生影响, 而是将转换后的结果返回
// join()中可以指定一个字符串作为参数, 这个字符串将作为连接符
// 如果不指定默认使用, 逗号链接
var result1 = arr4.join("-");
console.log(result1);//炫炫-汪汪汪 变成一个字符串
// reverse()
// 颠倒数组
var result2 = arr4.reverse();
console.log(arr4);
console.log(result2);//["狗狗大队", "我疯狂的炫", "汪汪汪", "炫炫"]
// sort()
// 对数组中的元素进行排序
// 默认按照编码大小进行排序
arr5.sort();
arr6.sort();
arr7.sort();
//对字母排序
console.log(arr5);// ["a", "b", "c", "d", "e", "f"]
//字符串数字排序
console.log(arr6);//["1", "11", "2", "3", "4", "6", "8"]
//对数字排序会变成这样
console.log(arr7);//[1, 11, 2, 3, 4, 6, 8]
// 为了解决这个问题
// 函数如果返回一个大于0的值, 则元素交换位置
// 函数如果返回一个小于0的值, 则元素位置不变
// 函数如果返回一个等于0的值, 视为两个元素相等, 则元素位置不变
arr7.sort(function (a, b) {
// //降序
// if (a > b) {
// return -1;
// } else if (a < b) {
// return 1;
// } else {
// return 0;
// }//[11, 8, 6, 4, 3, 2, 1]
//return a - b;//升序
return b - a;//降序
})
console.log(arr7);
</script>
pop()
push()
unshift()
shift()
<script type="text/javascript">
// 数组的四个方法
// push()末尾添加返回数组长度 pop()末尾删除返回被删除值
// unshift()头部添加返回添加后长度 shift()头部删除第一个元素返回被删除值
// push():
// 可以在数组的末尾添加一个或者多个元素, 并且返回数组的新的长度
// 可以将要添加的元素作为方法的传递
// 这样这些元素会自动添加到数组的末尾
// 该方法会将数组的长度作为返回值返回
arr = ["孙悟空"];
var result = arr.push("唐僧", "蜘蛛精", "白骨精", "猪八戒");
console.log(result);//5
console.log(arr);//["孙悟空", "唐僧", "蜘蛛精", "白骨精", "猪八戒"]
// pop()删除数组的最后一个元素返回被删除元素
var result1 = arr.pop();
console.log(result1);//猪八戒
console.log(arr); // ["孙悟空", "唐僧", "蜘蛛精", "白骨精"]
// unshift()
// 向数组开头添加一个或者多个元素, 并返回新的数组长度
// 向前边插入元素以后, 其他元素索引会依次调整
result2 = arr.unshift("哪吒");
console.log(result2);//5
console.log(arr);// ["哪吒", "孙悟空", "唐僧", "蜘蛛精", "白骨精"]
//shift删除第一个元素返回被删除元素
result3 = arr.shift();
console.log(result3);//哪吒
console.log(arr);//["孙悟空", "唐僧", "蜘蛛精", "白骨精"]
</script>
slice()
splice()
<script type="text/javascript">
arr = ["孙悟空", "猪八戒", "沙和尚", "唐僧", "白骨精"]
// slice(开始,结束)
arr.slice(0, 2);//该方法不会改变数组而是将截取的元素封装到一个
// 新的数组中返回
console.log(arr);
var result = arr.slice(0, 2);
console.log(result);// ["孙悟空", "猪八戒"]
// splice(开始位置, 删除数量,"新增的元素");//增加的元素可以直接插入
var result1 = arr.splice(0, 2);
console.log(arr);//["沙和尚", "唐僧", "白骨精"]
console.log(result1);//["孙悟空", "猪八戒"]
var result1 = arr.splice(0, 0, "牛魔王");//(4) ["牛魔王", "沙和尚", "唐僧", "白骨精"]
console.log(arr);
</script>
forEach()
<script type="text/javascript">
arr = ["孙悟空", "猪八戒", "沙和尚", "唐僧"]
arr.forEach(function (a, b, c) {
console.log("a=" + a);
//a=孙悟空
//a=猪八戒
//a=沙和尚
//a=唐僧
console.log("b=" + b);
//b=0
//b=1
//b=2
//b=3
console.log("c=" + c);
//孙悟空,猪八戒,沙和尚,唐僧
//孙悟空,猪八戒,沙和尚,唐僧
//孙悟空,猪八戒,沙和尚,唐僧
//孙悟空,猪八戒,沙和尚,唐僧
// 传递的三个参数分别为value值 和index索引 还有object对象
// 只在IE9和以上兼容 所有尽量少用
});
// 有几个元素执行几次
</script>