Java教程

JavaScript数组API总结

本文主要是介绍JavaScript数组API总结,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

本文 首先对数组常用方法进行分类,具体使用方法会在分类后整理。

分类:

1.修改原数组的

pop()、push()、reverse()、shift()、unshift()、sort()、splice()、splite() …

2.不会修改原数组的 

concat()、join()、slice()、filter() 、reduce() …

3.es6新增的如map()、find()、findIndex()、filter()、every()、some ()会不会改变原数组???

1、用forEach、map函数对引用类型的数组元素的属性值进行了修改,原数组也会跟着改变。即可能是数组、对象、函数(函数是引用类型)。

 forEach里的回调函数对引用类型的数组元素的属性有修改操作。他们的特点大多需遍历数组

2、如果你不希望原数组在上述情况下被改变的解决办法:
    对操作数组进行深拷贝。用拷贝的对象调用数组处理方法,原数组就不会改变了。

 二  详细介绍

1.删除数组末尾的元素  pop()

var last = fruits.pop(); // remove Orange (from the end)
// last: "Orange"; fruits: ["Apple", "Banana"];

2删除数组最前面(头部)的元素  shift()

​​​​​​​var first = fruits.shift(); // remove Apple from the front
// first: "Apple"; fruits: ["Banana"]; 

 

添加元素到数组的末尾  push()

var newLength = fruits.push('Orange');
// newLength:3; fruits: ["Apple", "Banana", "Orange"]

 

4添加元素到数组的头部

var newLength = fruits.unshift('Strawberry') // add to the front
// ["Strawberry", "Banana"];

 

5 forEach() 遍历数组 

// 遍历:forEach
		let arr = ['张飞', '关羽', '赵云', '张辽', '曹仁', '许褚'];

		// ECMAScript5:forEach
		// arr.forEach( function (item, index, o) {
		// 	// 第一个参数:item,代表当前项
		// 	// 第二个参数:index,代表当前项索引值
		// 	// 第三个参数:o,代表当前数组本身
		// 	console.log( item, index, o );
		// } );

6  find:遍历查找,返回第一个满足条件的元素

// find:遍历查找,返回第一个满足条件的元素
		// let re = [6, 2, 7, 4, 5, 9].find( function (item, index, o) {

		// 	// console.log( item, index, o );
		// 	return item > 6;

		// } );
		// console.log( re );

7 findIndex:遍历查找,返回第一个满足条件的元素的索引值

// findIndex:遍历查找,返回第一个满足条件的元素的索引值
		// let re = [6, 2, 7, 4, 5, 9].findIndex( function (item, index) {
		// 	return item > 6;
		// } );

		// console.log( re );

8 some:遍历查找,如果有满足条件有一个就会返回true,否则就是false

// some:遍历查找,如果有满足条件有一个就会返回true,否则就是false
		// let re = [6, 2, 7, 4, 5, 9].some( function (item, index) {

		// 	return item > 6;

		// } );
		// console.log( re );

9 every:遍历查找,每个元素都满足条件则返回true,否则就是false

// every:遍历查找,每个元素都满足条件则返回true,否则就是false
		// let re = [6, 2, 7, 4, 5, 9].every( function (item, index) {
		// 	return item > 6;
		// } );
		// console.log( re );

10 filter:遍历筛选,筛选出满足条件的元素返回新的数组

// filter:遍历筛选,筛选出满足条件的元素返回新的数组
		// let re = [6, 2, 7, 4, 5, 9].filter( function (item, index) {

		// 	return item > 6;

		// } );

		// console.log( re );

11  map:遍历数组,让每个元素执行一边回调函数把所有结果放到新数组返回

// map:遍历数组,让每个元素执行一边回调函数把所有结果放到新数组返回
		let re = [6, 2, 7, 4, 5, 9].map( function (item, index) {

			return item * item;

		} );

		console.log( re );

12  sort:数组排序

	// sort:数组排序
		
		// let arr = [23, 66, 123, 33, 7, 46];

		// console.log( arr.sort() );
		// let re = arr.sort( function (a, b) { return a - b; } );// 从小到大排序
		// console.log( re );

		// console.log( arr.sort( function (a, b) { return b - a; }) );

 13 reverse:翻转数组顺序

//  reverse:翻转数组顺序
		// let arr = ['a', 'b', 'c'];

14  join:用指定内容连接数组成为字符串

// join:用指定内容连接数组成为字符串
		// let arr = ['张三', '李四', '尼古拉斯'];
		// let re = arr.join('');

 15 indexOf:查找首次出现的索引位置,找不到就会返回-1

      lastIndexOf:查找尾次出现的索引位置,找不到就是-1

	let arr = ['a', 'b', 'c', 'd', 'a', 'b', 'c'];
		// 查找数组中是否具有c

		// indexOf:查找首次出现的索引位置,找不到就会返回-1
		// let re = arr.indexOf('m');
		// lastIndexOf:查找尾次出现的索引位置,找不到就是-1
		// let re = arr.lastIndexOf('m');

16  concat:拼接数组

// concat:拼接数组
		let re = arr.concat([1, 2, 3], ['11', 22, 33], 'aa', 'bb', 'cc');

		console.log( re )

17 Array.from();:把伪数组转换为真数组

// Array.from();:把伪数组转换为真数组
		// 注意:要想使用这个方法,那么伪数组必须有length,否则转换不了
		
		// let o = {
		// 	0 : 'aa',
		// 	1 : 'bb',
		// 	2 : 'cc',
		// 	3 : 'dd',
		// 	length : 4
		// }

		// // 把伪数组转换为真数组
		// let arr = Array.from(o);

		// console.log(arr);

 

 

 

 

 

 

 

这篇关于JavaScript数组API总结的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!