JS 数组的常用方法归纳之不改变原数组和其他
- concat() 连接两个或多个数组,不改变现有数组,返回新数组,添加的是数组中的元素
- join(",") 把数组中的所有元素放入一个字符串,通过‘,’分隔符进行分隔,返回字符串
- slice(start,end) 从已有的数组中返回选定的元素,从start开始选取, (若是负数,从尾部开始算起的位置:-2指倒数第二个元素)到end(不包括该元素),该方法不修改数组,返回一个字数组
- map(function(currentValue,index,arr),thisValue) 按照原始数组元素顺序依次处理元素,返回新数组,数组中的元素是原数组元素调用函数处理后的值,不会检测空数组,不改变原数组。currentValue (必须,当前元素的值)index(可选,索引值)arr(可选,当前元素属于数组对象),thisValue(可选,执行回调时使用,传递给函数(this))
- forEach() 调用数组的每个元素,并将元素传递给回调函数,空数组不执行回调函数,参数同上
- filter() 创建一个新数组,新数组中的元素是通过检查指定数组中符合条件的所有元素,不对空数组检测,不改变原数组,参数同上
- some() 检测数组中的元素是否满足指定条件(函数提供),依次执行数组的每个元素,如果有一个满足,返回true,剩余元素不再执行检测,如果没有满足条件的元素返回false(不检测空数组,不改变原数组)参数同上
- every() 检测数组所有元素是否都符合指定条件(函数提供),使用指定函数检测数组中的所有元素,如果有一个元素不满足返回false剩余不再检测,如果所有都满足,返回true(不检测空数组,不改变原数组)参数同上
- indexOf(item,start) 返回数组中某个指定的元素位置,该方法将从头到尾检索数组,看是否含有对应元素,在start(可选)开始检索(或从头没有start),如果找到一个item(必须) 返回item的第一次出现的位置。开始位置索引是0,没找到返回-1 (若想查找字符串最后出现的位置用lastIndexOf()方法。
- includes(searchElement,fromIndex) 用来判断一个数组是否包含一个指定的值,是 返回true,否 返回false
JS 数组的常用方法归纳之不改变原数组和其他的更多相关文章
- js 数组的常用方法归纳
数组的常用方法归纳 slice(start,end) 传参:start代表从哪里开始截取,end代表截取结束的地方 var a = [1,2,3]a.slice(1);//[2,3] pop() 可以 ...
- js操作改变原数组的解决方法
最近在开发的时候发现js中的循环操作会改变原数组,var一个变量承接也不行 甚至连map方法都会改变原数组,下面是解决方法 let a = ['a','b','c'] let b = [[2, 0, ...
- js数组方法 改变原数组和不改变原数组的方法整理
改变原数组: pop(): 删除 arrayObject 的最后一个元素,把数组长度减 1,并且返回它删除的元素的值.如果数组已经为空,则 pop() 不 改变数组,并返回 undefined 值 ...
- JS在不改变原数组的情况下复制一个新的数组
var a={1,2,3,4} var data= JSON.parse(JSON.stringify(a[0])) a.push(data) a[4]=5 这样就不会改变原数组a的数据
- bit-map牛刀小试:数组test[X]的值所有在区间[1, 8000]中, 现要输出test中反复的数。要求:1. 不能改变原数组; 2.时间复杂度为O(X);3.除test外空间不超过1KB
先来看看这个题目:数组test[X]的值所有在区间[1, 8000]中. 现要输出test中反复的数.要求:1. 不能改变原数组; 2.时间复杂度为O(X);3.除test外空间不超过1KB. 好, ...
- JavaScript Array返回值以及是否改变原数组。
1. push:最后一位新增://改变原数组 arr.push("123"); 返回值是数组的长度: var b = ...
- Java方法调用数组,是否改变原数组元素的总结
Java方法调用数组,是否改变原数组元素的总结 //个人理解, 欢迎吐槽 注意String是引用型变量, 我的理解也就是指向型, 指向一个数据或变量, 画图理解最容易, string 指向的 数据的值 ...
- JS 数组的常用方法详解归纳之改变原数组方法
shift() 把数组的第一个元素从其中删除,并返回第一个元素的值, 如果数组是空的,那么 shift() 方法将不进行任何操作,返回 undefined 值.请注意,该方法不创建新数组,而是直接修改 ...
- 合并数组,改变原数组apply与不改变原数组
一看见合并数组,可能第一反应就是concat,concat确实具有我们想要的行为,但它实际上并不附加到现有数组,而是创建并返回一个新数组. 同样你也许会想到ES6的扩展运算符... 但 ...
随机推荐
- 1134. Vertex Cover (25)
A vertex cover of a graph is a set of vertices such that each edge of the graph is incident to at le ...
- [CF1161C] Thanos Nim
传送门 题意:\(2n\)堆石子,每堆\(a_i\)个,先手每次选中\(n\)堆石子,并从每堆中拿走任意个(可以不同).轮到某人时不足\(n\)堆则判负,问先手是否必胜.\(n\leq25,a_i\l ...
- JavaWeb DOM1
一.BOM的概述 browser object modal :浏览器对象模型. 浏览器对象:window对象. Window 对象会在 <body> 或 <frameset> ...
- win10如何设置软件开机启动
想要实现应用程序在所有的用户登录系统后都能自动启动,就把该应用程序的快捷方式放到“系统启动文件夹”里C:\ProgramData\Microsoft\Windows\Start Menu\Progra ...
- 【leetcode】All Paths From Source to Target
题目如下: Given a directed, acyclic graph of N nodes. Find all possible paths from node 0 to node N-1, a ...
- vs 2010创建Windows服务定时timer程序
vs 2010创建Windows服务定时timer程序: 版权声明:本文为搜集借鉴各类文章的原创文章,转载请注明出处: http://www.cnblogs.com/2186009311CFF/p/ ...
- 2019年开发App记录
Pod 制作私有库参考 https://www.jianshu.com/p/f903ecf8e882 Pod私有库的升级 改代码部分,到Example文件夹执行pod install ,修改XXX.s ...
- 洛谷P1310 表达式的值——题解
题目传送 题的难点:1.有运算优先级,不好判断.2.有破坏整体和谐性的讨厌的括号.3.不知道哪里要填数.4.要求方案数很大,搜索不会做呐. 发现难点1和2都是中缀表达式的缺点.转成后缀表达式后难点1. ...
- activeMQ安全机制
- 动态淀粉质(划掉)题单&简要题解
简介 动态点分治的思想:还不太清楚诶怎么办. 大概是通过降低树高来降低每次修改和询问的复杂度吧,还可以把树上一个连通块的信息统计到一个点(重心)上.具体实现方式和普通的静态点分治没有太大的区别,只是把 ...