JavaScript 数组常用方法总结
这是在JavaScript数组中一些操作方法的总结,希望对大家有所帮组
1.unshift() 方法 向数组的头部添加
任意个元素, 并返回新的数组长度, 会改变原数组.
let arr = [2,3,4,5];
console.log(arr.unshift(3,6));
// 6 数组长度console.log(arr);
// 打印结果 [3,6,2,3,4,5]
2.shift() 方法 在数组的
头部删除
一个元素, 并返回删除掉的元素, 改变原数组.let arr = [2,3,4,5];
let Array = arr.shift()
console.log(Array);
// 2 返回值console.log(arr);
// 打印结果 [3,4,5]
3.push() 方法 在数组的
尾部添加
任意个元素, 并返回新的数组长度, 会改变原数组var a = [2,3,4];
var b = a.push(5);
console.log(a);
//[2,3,4,5]console.log(b);
//4
4.pop() 方法 在数组
尾部删除
一个元素。返回被删除掉的元素,会改变原数组.。var arr = [2,3,4];
console.log(arr.pop());
//4console.log(arr);
//[2,3]
5.concat() 方法 方法用于
合并
两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。var alpha = ['a', 'b', 'c'];
var numeric = [1, 2, 3];
alpha.concat(numeric);
// result in ['a', 'b', 'c', 1, 2, 3]
6.join() 方法将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串. 元素是通过指定的分隔符进行分隔的,默认使用','号分割,不改变原数组。
const elements = ['Fire', 'Air', 'Water'];
console.log(elements.join());
// expected output: "Fire,Air,Water"console.log(elements.join(''));
// expected output: "FireAirWater"console.log(elements.join('-'));
// expected output: "Fire-Air-Water"
7.splice() 方法 可以在
任意位置删除
或者在任意位置添加
元素,并以数组形式返回被修改的内容。此方法会改变原数组。其中参数的含义 : (1.什么位置开始删除, 2.要删除元素的个数, 3.要添加的元素)
var a = [5,6,7,8];
console.log(a.splice(1,0,9));
//[]console.log(a);
// [5, 9, 6, 7, 8]var b = [5,6,7,8];
console.log(b.splice(1,2,3));
//[6, 7]console.log(b);
//[5, 3, 8]
8.slice() 方法返回一个新的数组对象,这一对象是一个由 begin 和 end 决定的原数组的浅拷贝(包括 begin,不包括end)。原始数组不会被改变。
var arr = [2,3,4,5];
console.log(arr.slice(1,3));
//[3,4]console.log(arr);
//[2,3,4,5]
10.sort (),按照 Unicode code 位置排序,
默认升序
var fruit = ['cherries', 'apples', 'bananas'];
fruit.sort();
// ['apples', 'bananas', 'cherries']var scores = [1, 10, 21, 2];
scores.sort();
// [1, 10, 2, 21]
11.reverse() 方法用于颠倒数组中元素的顺序。返回的是颠倒后的数组,会改变原数组。
var arr = [1,2,3,4];
console.log(arr.reverse());
//[4, 3, 2, 1]console.log(arr);
//[4, 3, 2, 1]
12.indexOf() 和 lastIndexOf()
都接受两个参数:查找的值、查找起始位置
不存在,返回 -1 ;存在,返回位置。indexOf 是从前往后查找 ; lastIndexOf 是从后往前查找。
indexOf用法
var a = [2, 9, 9];
a.indexOf(2);
// 0a.indexOf(7);
// -1if(a.indexOf(7) === -1) { // 若数组中找不到7,done
}
lastIndexOf用法
var numbers = [2, 5, 9, 2];
numbers.lastIndexOf(2);
// 3numbers.lastIndexOf(7);
// -1numbers.lastIndexOf(2, 3);
// 3numbers.lastIndexOf(2, 2);
// 0numbers.lastIndexOf(2, -2);
// 0numbers.lastIndexOf(2, -1);
// 3
13.forEach() 数组遍历
const array1 = ['a', 'b', 'c'];
array1.forEach(element => console.log(element));
// expected output: "a"
// expected output: "b"
// expected output: "c"
14.filter(),对数组的每一项都运行给定的函数,返回 结果为 ture 的项组成的数组
const words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present'];
const result = words.filter(word => word.length > 6);
console.log(result);
// expected output: Array ["exuberant", "destruction", "present"]
15.map(),对数组的每一项都运行给定的函数,返回每次函数调用的结果组成一个
新数组
var numbers = [1, 5, 10, 15];
var doubles = numbers.map(function(x) {/*arr.map(function callback(currentValue[, index[, array]])
参数: 1.currentValue | callback 数组中正在处理的当前元素
2.index可选 | callback 数组中正在处理的当前元素的索引
3.array可选 | map 方法调用的数组。 /*returnx * 2;
});
// doubles is now [2, 10, 20, 30]// numbers is still [1, 5, 10, 15]
16.includes() 方法
用来判断一个数组是否包含一个指定的值
,根据情况,如果包含则返回 true,否则返回false。const array1 = [1, 2, 3];
console.log(array1.includes(2));
// expected output: trueconst pets = ['cat', 'dog', 'bat'];
console.log(pets.includes('cat'));
// expected output: trueconsole.log(pets.includes('at'));
// expected output: false
17.find() 方法返回数组中满足提供的测试函数的
第一个元素的值
。否则返回 undefined。const array1 = [5, 12, 8, 130, 44];
const found = array1.find(element => element > 10);
console.log(found);
//output: 12
18.findIndex()方法返回数组中满足提供的测试函数的
第一个元素的索引
。若没有找到对应元素则返回-1。const array1 = [5, 12, 8, 130, 44];
const isLargeNumber = (element) => element > 13;
console.log(array1.findIndex(isLargeNumber));
// expected output: 3
19.toString() 返回一个字符串,表示指定的数组及其元素。
const array1 = [1, 2, 'a', '1a'];
console.log(array1.toString());
// expected output: "1,2,a,1a"
20.toLocaleString() 返回一个字符串表示数组中的元素。数组中的元素将使用各自的 toLocaleString 方法转成字符串,这些字符串将使用一个特定语言环境的字符串(例如一个逗号 ",")隔开。
const array1 = [1, 'a', new Date('21 Dec 1997 14:12:00 UTC')];
const localeString = array1.toLocaleString('en', { timeZone: 'UTC' });
console.log(localeString);
// expected output: "1,a,12/21/1997, 2:12:00 PM",
// This assumes "en" locale and UTC timezone - your results may vary
21.flat() 方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。
const arr1 = [0, 1, 2, [3, 4]];
console.log(arr1.flat());
// expected output: [0, 1, 2, 3, 4]const arr2 = [0, 1, 2, [[[3, 4]]]];
console.log(arr2.flat(2));
// expected output: [0, 1, 2, [3, 4]]
22.reduce() 方法对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其
结果汇总为单个返回值
。const reducer = (accumulator, currentValue) => accumulator + currentValue;
// 1 + 2 + 3 + 4
console.log(array1.reduce(reducer));
// expected output: 10// 5 + 1 + 2 + 3 + 4
console.log(array1.reduce(reducer, 5));
// expected output: 15
23.some(),对数组的每一项都运行给定的函数,任意一项都返回 ture,则返回 true
function compare(element, index, array) { returnelement > 10;
} [2, 5, 8, 1, 4].some(compare);
// false[12, 5, 8, 1, 4].some(compare);
// true
24.values() 方法返回一个新的 Array Iterator 对象,该对象包含数组每个索引的值
const array1 = ['a', 'b', 'c'];
const iterator = array1.values();
for (const value of iterator) {
console.log(value);
}// expected output: "a"
// expected output: "b"
// expected output: "c"
25.every(),对数组的每一项都运行给定的函数,每一项都返回 ture,则返回 true
const isBelowThreshold = (currentValue) => currentValue < 40;
const array1 = [1, 30, 39, 29, 10, 13];
console.log(array1.every(isBelowThreshold));
// expected output: true
26.substring() 和 substr()
相同点:如果只是写一个参数,两者的作用都一样:都是是截取字符串从当前下标以后直到字符串最后的字符串片段。
substr(startIndex);
substring(startIndex);
varstr = '123456789';
console.log(str.substr(2));
// "3456789"console.log(str.substring(2)) ;
// "3456789"
不同点:第二个参数
substr(startIndex,lenth): 第二个参数是截取字符串的长度(从起始点截取某个长度的字符串);substring(startIndex, endIndex): 第二个参数是截取字符串最终的下标 (截取2个位置之间的字符串,‘含头不含尾')。console.log("123456789".substr(2,5));
// "34567"console.log("123456789".substring(2,5)) ;
// "345"
【JavaScript 数组常用方法总结】等一下, 您先别走, 还没有
点赞
加 关注
呢 !推荐阅读
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。
- 事件代理
- 数组常用方法一
- Java|Java基础——数组
- JS常见数组操作补充
- 常用git命令总结
- java|java 常用知识点链接
- JS|JS 数组求和与数组求平均值
- JavaScript|vue 基于axios封装request接口请求——request.js文件
- 超帅的js数组去重