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()); //4

console.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); // 0

a.indexOf(7); // -1

if(a.indexOf(7) === -1) {

 // 若数组中找不到7,done
}

lastIndexOf用法

var numbers = [2, 5, 9, 2];

numbers.lastIndexOf(2);  // 3

numbers.lastIndexOf(7);  // -1

numbers.lastIndexOf(2, 3); // 3

numbers.lastIndexOf(2, 2); // 0

numbers.lastIndexOf(2, -2); // 0

numbers.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: true

const pets = ['cat', 'dog', 'bat'];

console.log(pets.includes('cat'));
// expected output: true

console.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"

等一下, 您先别走, 还没有 点赞 加 关注 呢 !
如要了解数组的更多方法,还是建议去 MDN 上学习.

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【优质项目推荐】 1、项目代码均经过严格本地测试,运行OK,确保功能稳定后才上传平台。可放心下载并立即投入使用,若遇到任何使用问题,随时欢迎私信反馈与沟通,博主会第一时间回复。 2、项目适用于计算机相关专业(如计科、信息安全、数据科学、人工智能、通信、物联网、自动化、电子信息等)的在校学生、专业教师,或企业员工,小白入门等都适用。 3、该项目不仅具有很高的学习借鉴价值,对于初学者来说,也是入门进阶的绝佳选择;当然也可以直接用于 毕设、课设、期末大作业或项目初期立项演示等。 3、开放创新:如果您有一定基础,且热爱探索钻研,可以在此代码基础上二次开发,进行修改、扩展,创造出属于自己的独特应用。 欢迎下载使用优质资源!欢迎借鉴使用,并欢迎学习交流,共同探索编程的无穷魅力! 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值