数组方法(补充中)

news/2024/7/10 23:26:07 标签: javascript, es6

文章目录

  • 改变原数组
    • push()
    • pop()
    • shift()
    • unshift()
    • sort()
    • reverse()
    • splice()
  • 返回新数组
    • map()
    • filter()
    • Array.prototype.concat()
  • 其他
    • join()
    • findIndex()
    • reduce
    • some

改变原数组

push()

push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。

pop()

pop() 方法用于删除数组的最后一个元素并返回删除的元素。

shift()

shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。

unshift()

unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。

sort()

sort() 方法用于对数组的元素进行排序。

排序顺序可以是字母或数字,并按升序或降序。

默认排序顺序为按字母升序。

注意: 这种方法会改变原始数组!。

var points = [40,100,1,5,25,10];
//数字升序
points.sort(function(a,b){return a-b});
//数字降序
points.sort(function(a,b){return b-a});

reverse()

reverse() 方法用于颠倒数组中元素的顺序。

splice()

splice() 方法用于添加或删除数组中的元素。

注意:这种方法会改变原始数组。

//index:必需。规定从何处添加/删除元素
//howmany:可选。规定应该删除多少元素。必须是数字,但可以是 "0"。如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素
//item1,.....,itemX:可选。要添加到数组的新元素
array.splice(index,howmany,item1,.....,itemX)

返回新数组

map()

map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。

map() 方法按照原始数组元素顺序依次处理元素。

参数依次为 当前元素的值 索引值 所属的数组对象 回调函数所属对象
array.map(function(currentValue,index,arr), thisValue)

filter()

filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

注意: filter() 不会对空数组进行检测。

注意: filter() 不会改变原始数组。

array.filter(function(currentValue,index,arr), thisValue)

Array.prototype.concat()

concat() 方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。

const array1 = ['a', 'b', 'c'];
const array2 = ['d', 'e', 'f'];
const array3 = array1.concat(array2);
console.log(array3);
// ["a", "b", "c", "d", "e", "f"]

其他

join()

join() 方法将数组作为字符串返回。

findIndex()

findIndex() 方法为数组中的每个元素都调用一次函数执行:

当数组中的元素在测试条件时返回 true 时, findIndex() 返回符合条件的元素的索引位置,之后的值不会再调用执行函数。

如果没有符合条件的元素返回 -1

reduce

reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。

//0为初始值,每一次调用的初始值为上一次调用的返回值
this.todos.reduce((pre,todo)=> pre + (todo.done ? 1 : 0) ,0)

some

some() 方法用于检测数组中的元素是否满足指定条件(函数提供)。

some() 方法会依次执行数组的每个元素:

如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
如果没有满足条件的元素,则返回false。

检测数组中是否有元素大于 18:

const arr = [10,20,30];
arr.some((item) => {
	return item > 18;
})

http://www.niftyadmin.cn/n/1154748.html

相关文章

Join方法把阵列转为字符串

string有一个方法&#xff0c;就是Join&#xff0c;可以把阵列转换为字符串&#xff1a;下面是Join方法重载&#xff0c;可以指定那个元素开始&#xff0c;连续取几个元素&#xff1a;可以传入一个IEnumerable<T>参数&#xff1a;

20165319预备作业三

一.linux的安装 根据老师给的教程《基于VirtualBox虚拟机安装Ubuntu图文教程》我姑且还算是成功地安装了。不过途中遇到了两个问题&#xff0c;其中一个就是虚拟机无法选择64位系统。后来通过百度知道了要先进入BIOS设置。还有一个就是通过老师给的链接下载的虚拟盘无法使用&am…

RemoteViews概述

2019独角兽企业重金招聘Python工程师标准>>> 1.RemoteView概述 到目前为止&#xff0c;我发现RemoteView会用在两个地方&#xff1a;一个是在AppWidget,另外一个是在Notification. 先从官方对他的定义来看&#xff1a; RemoteView-- A class that describes a v…

Java NIO(七)管道

Java NIO 管道是两个线程之间的单向数据连接。Pipe有一个source通道和sink通道&#xff08;内部类&#xff09;。数据会被写到sink通道&#xff0c;从source通道读取。 给一张Pipe通道的原理图&#xff1a; 创建管道&#xff1a; Pipe pipe Pipe.open(); 向管道写数据&#xf…

路由query和params传参

文章目录路由配置query传参params传参props参数接收params传参接收query传参相同的接收参数形式路由配置 export default new VueRouter({routes:[{path:/about,component:About},{path:/home,component:Home,children:[{path:news,component:News,},{path:message,component:…

vue slot 插槽

文章目录默认插槽基本写法v-slot具名插槽基本写法v-slot作用域插槽基本写法默认插槽使用v-slot具名插槽使用v-slot默认插槽 基本写法 <template><div class"container"><!-- //默认插槽 --><!-- 基本写法 --><category>我是插入的内…

推荐下Vimium

2019独角兽企业重金招聘Python工程师标准>>> Vimium可使chrome脱离鼠标&#xff0c;让网页浏览更高效&#xff0c;在简单的熟悉后的确感觉高效了很多。 如yy直接可以将网址复制&#xff0c;yf可以指定复制页面中的连接&#xff0c;T可以在已经打开的标签中迅速定位…

ubuntu17.10 安装firefox的flash

1. flash下载地址&#xff1a;https://get.adobe.com/flashplayer/ 2. 选择tar.gz for linux 3. 下载后解压tar包。里面有个libflashplayer.so&#xff0c;将该文件拷贝到~/.mozilla/plugins/下&#xff0c;重启浏览器即可。&#xff08;如果没有plugins目录&#xff0c;自行创…