js中关于数组的常见用法

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
	

数组中关于位置的方法:

(1)indexOf():从数组的开头开始向后查找。
(2) lastIndexOf():从数组的末尾开始向前查找。
这两个方法都接受两个参数:要查找的项, 查找起点位置的索引(可选项)
这两个方法都返回要查找的项在数组中的位置,或者在没有找到的情况下返回-1.

实例:

let a=[1,2,3,4];
console.log(a.indexOf(1)) 
//结果:0

数组中的五种迭代方法:

every()对数组中的每一项运行给定的函数,如果该函数对每一项都返回true,则返回true
some()对数组中的每一项运行给定的函数,该函数中只要有一项返回true,则返回true.
filter()对数组中的每一项运行给定的函数,返回满足某些条件所组成的数组
map()对数组中的每一项运行给定的函数,也返回一个数组,而且这个数组是原始数组的每一项经过传入函数处理过所得到的。
forEach()对数组中的每一项运行给定的函数,该方法没有返回值,本质上与使用for循环迭代数组是一样的
总结上述这几种方法都不会改变原始数组

备注:参考W3School+javascript高级程序设计第三版

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值