1.数组常见的排序方法
(1)sort()–按照ascll字符编码排序,返回排序后的新数组,改变原数组,当数组中均为数字时,还需额外的处理,如下;
例如:
//第一种情况
var b=['c','d','a','b']
b.sort();
console.log(b);
//运行结果:
["a", "b", "c", "d"]
----------------------------------------------------------
//第二种情况
<script type="text/javascript">
//将数组a进行排序
var a=[7,34,45,13,90,35,23];
a.sort(function(num1,num2){
return num1-num2;
})
console.log(a);//a=[7,13,23,24,34,35,45,90]
</script>
(2)reverse()——-颠倒数组中元素的顺序,改变原数组。
例如:
var a=[13,90,35,23];
a.reverse();
console.log(a);
//运行结果:
[23, 35, 90, 13]
2.数组的增、删涉及到的方法:
(1)向数组中增添元素
push(元素);向数组的尾部添加一个元素或多个元素。
例如:
var a=[7,34,45,13,90,35,23];
a.push("Hello","Time");
console.log(a);// [7, 34, 45, 13, 90, 35, 23, "Hello", "Time"]
unshift(元素);向数组的头部添加一个元素或多个元素。
例如:
var a=[7,34,45,13,90,35,23];
a.unshift("Hello","Time");
console.log(a)
//["Hello", "Time", 7, 34, 45, 13, 90, 35, 23];
(2)从数组中删除元素:
pop();从数组的尾部删除一个元素。
var a=[13,90,35,23];
a.pop();
console.log(a);
//[13, 90, 35]
shift();从数组的头部删除一个元素。
例如:
var a=[7,34,45,13,90,35,23];
a.shift();
console.log(a);
//[34, 45, 13, 90, 35, 23]
(3)splice() 方法向数组中添加项目,或从数组中删除项目,并返回删除的项目。
语法:
arrayObject.splice(index,howmany,item1,…..,itemX)
删除项目:
例如:
var a=[13,90,35,23];
var b=a.splice(0,2)
console.log("被删除的项目:"+b);
console.log("原数组现在的状况"+a);
//运行结果:
被删除的项目:13,90
原数组现在的状况35,23
添加项目:
当第二个参数是0时,表示从索引位置开始添加元素:
var a=[13,90,35,23];
a.splice(1,0,1,2)
console.log(a);
//运行结果为:
[13, 1, 2, 90, 35, 23]
当第二个参数为n,且n不等于0时,表示从索引位置开始先删除n个元素,然后再添加元素:
例如:
var a=[13,90,35,23];
a.splice(1,1,1,2)
console.log(a);
//运行结果:
[13, 1, 2, 35, 23]
其他:
(1)提到这里我想提另外一个关于数组的方法:
slice()——-它的相关操作不会作用到原数组上面,它会返回一个子数组:
基本语法
ArrayObject.slice(start,end); start–end这是一个左闭右开的区间
例如:
var a=[13,90,35,23];
var b=a.slice(0,2);
console.log("原数组"+a);
console.log("返回的东西"+b);
//原数组13,90,35,23
返回的东西13,90
(2) concat([被连接的数组]):连接两个数组,组成一个新数组,不改变原数组。
例如:
var a=[13,90,35,23];
var b=["Hello","one","two"];
var c=a.concat(b);
console.log("a is:"+a);
console.log("b is:"+b);
console.log("c is:"+c);
//运行结果为:
a is:13,90,35,23
b is:Hello,one,two
c is:13,90,35,23,Hello,one,two
(3)join() 方法————用于把数组中的所有元素放入一个字符串。
元素是通过指定的分隔符进行分隔的,不改变原数组,返回一个新的字符串,具体用法如下:
arrayObject.join(separator)
参数描述:
separator 可选。是指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。
var a=[13,90,35,23];
var b=a.join("-")
console.log("原数组a:"+a);
console.log("新生成的字符串b:"+b);
//原数组a:13,90,35,23
新生成的字符串b:13-90-35-23
备注:参考W3School