博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JS操作数组常用实用方法
阅读量:3890 次
发布时间:2019-05-23

本文共 2482 字,大约阅读时间需要 8 分钟。

1.join()方法:对数组进行指定分隔符分割成一个字符串。

var fruits = ["Banana", "Orange","Apple", "Mango"];document.getElementById("demo").innerHTML = fruits.join(" * ");

结果为:Banana * Orange * Apple * Mango

2.pop()和 push():pop()方法弹出数组末尾的最后一个元素,并返回该元素。push()方法在数组末尾增加一个元素。这两个方法正常都是一起使用的。这两个方法比较常用,就不贴代码了。

3.shift()和unshift():与pop()和push()刚好反过来,shift()是在数组的开头删除首元素,然后其他元素依次向前进一位,他返回的是删除的元素。unshift()是在数组的开头插入一个对象,然后其他元素依次向后退一位,他返回的是新的数组的长度。

var fruits = ["Banana", "Orange", "Apple", "Mango"];fruits.shift();             // 返回 "Banana"var fruits = ["Banana", "Orange", "Apple", "Mango"];fruits.unshift("Lemon");    // 向 fruits 添加新元素 "Lemon",返回 5

4.splice():用于拼接数组

var fruits = ["Banana", "Orange", "Apple", "Mango"];var newFruits=fruits.splice(2, 0, "Lemon", "Kiwi");

splice()的第一个参数表示从第几个位置开始,第二个参数表示要删除几个元素,其余参数表示要插入哪些元素,它不会替代原来的数组,而是生成一个新的数组。如上述代码表示从第二位开始,删除0个元素,插入Lemon、Kiwi两个元素。

同理,splice()也可以用来删除指定位置的多个元素,并且插入新元素。

var fruits = ["Banana", "Orange", "Apple", "Mango"];fruits.splice(2, 2, "Lemon", "Kiwi");

如上述表示,从第二位置开始,删除两个元素,再插入Lemon、Kiwi两个元素。

5.concat():用来合并多个数组,返回一个新的数组。

var arr1 = ["Cecilie", "Lone"];var arr2 = ["Emil", "Tobias", "Linus"];var arr3 = ["Robin", "Morgan"];var myChildren = arr1.concat(arr2, arr3);   // 将arr1、arr2 与 arr3 连接在一起

6.slice():从数组中的某个位置之后,裁剪出一个新的数组,并返回新数组。

var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];var citrus = fruits.slice(3);

返回的citrus的结果为Apple,Mango

7.sort():当内容是字符串数组时,默认按照以字母顺序对数组进行排序。

var fruits = ["Banana", "Orange", "Apple", "Mango"];fruits.sort();            // 对 fruits 中的元素进行排序

 返回的结果是["Apple","Banana","Mango","Orange"];

 对于数字的数组而言,我们通过一个比值函数来修正此问题。

var points = [40, 100, 1, 5, 25, 10];//表示按从小到大的顺序进行排序points.sort(function(a, b){return a - b});//表示按照从大到小的顺序进行排序 points.sort(function(a, b){return b - a}); //表示按照随机的顺序进行排序points.sort(function(a, b){return 0.5 - Math.random()});

8.reverse() :反转数组中的元素,即倒叙排序,直接调用既可以,不贴代码。

9.forEach():为数组里面的每个元素调用一次函数。

var txt = "";var numbers = [45, 4, 9, 16, 25];numbers.forEach(myFunction);function myFunction(value) {  txt = txt + value + "
"; }

调用此函数,使数组变成字符串数组,并且每个结尾都以"<br>"结束。

10.filter():为数组过滤掉不符合条件的内容

var numbers = [45, 4, 9, 16, 25];var over18 = numbers.filter(myFunction);function myFunction(value) {  return value > 18;}

如上例子,表示获得数组中大于18的元素,然后返回一个新数组。

11.reduce():在数组中循环叠加计算某个函数,如果要指定他按照从左往右的顺序循环叠加,则使用reduceRight()。

var numbers1 = [45, 4, 9, 16, 25];var sum = numbers1.reduce(myFunction);function myFunction(total, value, index, array) {  return total * value;}

如上例子,表示循环叠加地把数组内的元素相乘起来,返回一个最终叠加结果。

转载地址:http://ceshn.baihongyu.com/

你可能感兴趣的文章
使用NTP服务器完美解决VMware Linux时间无法同步问题
查看>>
机器学习笔记(3)---K-近邻算法(1)---约会对象魅力程度分类
查看>>
机器学习笔记(4)---K-近邻算法(2)---使用sklearn中的KNN算法
查看>>
数据结构——外部排序
查看>>
UNIX网络编程——System V 消息队列
查看>>
信号量、互斥锁,读写锁和条件变量的区别
查看>>
UNIX网络编程——Posix共享内存区和System V共享内存区
查看>>
js循环语句
查看>>
js中时钟的写法
查看>>
js事件冒泡
查看>>
Django模型中的字段类型和字段约束
查看>>
京东金融曹鹏:通过JDD大赛,实现“比你更懂你”的极致价值,让金融更简单,更平等
查看>>
HTML我的家乡杭州网页设计作业源码(div+css)~ HTML+CSS网页设计期末课程大作业 ~ web前端开发技术 ~ web课程设计网页规划与设计 ~HTML期末大作业
查看>>
HTML网页设计期末课程大作业~动漫樱桃小丸子5页表格div+css学生网页设计作业源码
查看>>
HTML学生网页设计作业成品~化妆品官方网站设计与实现(HTML+CSS+JS)共8个页面
查看>>
web课程设计网页规划与设计~在线阅读小说网页共6个页面(HTML+CSS+JavaScript+Bootstrap)
查看>>
HTML期末大作业~棋牌游戏静态网站(6个页面) HTML+CSS+JavaScript
查看>>
XmlValidationModeDetector源码分析
查看>>
解析 xml 为Document
查看>>
中国银行2013年校园招聘机试回忆录(综合部分专业题 考点)
查看>>