-
数组方法中,会改变原数组、不会改变原数组的方法有哪些?
2021-02-24 15:19:10会改变原数组: 1 添加元素类:(返回新的长度) push() 把元素添加到数组尾部 unshift() 在数组头部添加元素 2 删除元素类:(返回的是被删除的元素) pop() 移除数组最后一个元素 shift() 删除数组第一个元素 ...会改变原数组:
1 添加元素类:(返回新的长度)
- push() 把元素添加到数组尾部
- unshift() 在数组头部添加元素
2 删除元素类:(返回的是被删除的元素)
- pop() 移除数组最后一个元素
- shift() 删除数组第一个元素
3 颠倒顺序:
- reverse() 在原数组中颠倒元素的顺序
4 插入、删除、替换数组元素:(返回被删除的数组)
- splice(index, howmany, item1…intemx)
index代表要操作数组位置的索引值,必填
howmany 代表要删除元素的个数,必须是数字,可以是0,如果没填就是删除从index到数组的结尾
item1…intemx 代表要添加到数组中的新值5 排序
- sort() 对数组元素进行排序
不会改变原数组:
- concat() 连接两个或更多数组,返回结果
- every() 检测数组中每个元素是否都符合要求
- some() 检测数组中是否有元素符合要求
- filter() 挑选数组中符合条件的并返回符合要求的数组
- join() 把数组的所有元素放到一个字符串
- toString() 把数组转成字符串
- slice() 截取一段数组,返回新数组
- indexOf 搜索数组中的元素,并返回他所在的位置
-
JS数组方法-操作会改变/不变 原数组
2019-05-26 21:03:27数组的哪些API会改变原数组? 修改原数组的API有: var arr = [] arr.splice() arr.reverse() arr.fill() arr.copyWithin() arr.sort() arr.push() arr.pop() arr.unshift() arr.shift() 不修改原数组的API有: var ...数组的哪些API会改变原数组?
修改原数组的API有:
var arr = [] arr.splice() arr.reverse() arr.fill() arr.copyWithin() arr.sort() arr.push() arr.pop() arr.unshift() arr.shift()
不修改原数组的API有:
var arr = [] arr.slice() arr.map() arr.forEach() arr.every() arr.some() arr.filter() arr.reduce() arr.entries() arr.find() arr.concat('1',['2','3']) //[1,2,3]
-
数组原型上面的方法有哪些,哪些是可以改变数组的,哪些是不可以的?
2020-07-09 23:06:36改变原数组的方法: ES5: splice() 可删除从 index 处开始的零个或多个元素 sort() pop() 删除尾部元素,返回删除的值 push() 数组尾部添加,返回新数组长度 shift() 数组头部元素删除,返回删除元素 unshift() 数组...改变原数组的方法:
ES5:
splice() 可删除从 index 处开始的零个或多个元素
sort()
pop() 删除尾部元素,返回删除的值
push() 数组尾部添加,返回新数组长度
shift() 数组头部元素删除,返回删除元素
unshift() 数组头部增加, 返回新数组长度
reverse()
ES6:
copyWithin()
fill不改变原数组的方法:
ES5:
slice、join、toLocateString、toStrigin、cancat、indexOf、lastIndexOf、
ES7:
includesjs中遍历数组并不改变原数组的方法总共有12个:
ES5:
forEach、every 、some、 filter、map、reduce、reduceRight、
ES6:
find、findIndex、keys、values、entries -
数组有哪些常用方法
2020-05-17 11:30:52答案: push 末尾添加 pop 末尾删除 shift 首部删除 unshift 首部添加 concat 数组合并 join 数组元素 通过连接符 连接 reverse 数组反转 ...原数组改变。 .答案:
-
push 末尾添加
-
pop 末尾删除
-
shift 首部删除
-
unshift 首部添加
-
concat 数组合并
-
join 数组元素 通过连接符 连接
-
reverse 数组反转
-
sort 数组排序
-
map/forEach/filter/indexOf/includes/slice/splice
详细解析:
1. Array.push(),向数组的末尾添加一个或多个元素,并返回新的数组长度。原数组改变。
2. Array.pop(),删除并返回数组的最后一个元素,若该数组为空,则返回undefined。原数组改变。
3. Array.unshift(),向数组的开头添加一个或多个元素,并返回新的数组长度。原数组改变。
4. Array.shift(),删除数组的第一项,并返回第一个元素的值。若该数组为空,则返回undefined。原数组改变。
5. Array.concat(arr1,arr2...),合并两个或多个数组,生成一个新的数组。原数组不变。
6. Array.join(),将数组的每一项用指定字符连接形成一个字符串。默认连接字符为 “,” 逗号。
7. Array.reverse(),将数组倒序。原数组改变。
8. Array.sort(),对数组元素进行排序。按照字符串UniCode码排序,原数组改变。
①从小到大
②从大到小
③按照数组对象中的某个值进行排序
9.Array.map(function),原数组的每一项执行函数后,返回一个新的数组。原数组不变。(注意该方法和forEach的区别)。
10.Array.slice(start,end),从start开始,end之前结束,不到end;如果不给end值,从start开始到数组结束。start可以给负值,-1表示数组最后位置,-2表示倒数第二个,以此类推,顾前不顾后。
11.Array.splice(index,howmany,arr1,arr2...) ,删除元素并添加元素,从index位置开始删除howmany个元素,并将arr1、arr2...数据从index位置依次插入。howmany为0时,则不删除元素。原数组改变。
对数组进行增删改
增加:ary.splice(n,0,m)从索引n开始删除0项,把m或者更多的内容插入到索引n的前面
返回空数组
修改:ary.splice(n,x,m)从索引n开始删除x个,m替换删除的部分
把原有内容删除掉,然后用新内容替换掉
删除:ary.splice(n,m) 从索引n开始删除m个内容
(如果第二个参数省略,则从n删除到末尾)
返回删除的新数组,原有数组改变
//增加 let ary6_z = [33,44,55,66,77,88]; ary6_z.splice(2,0,'a','b') console.log(ary6_z); //[33, 44, "a", "b", 55, 66, 77, 88] //修改 let ary6_x = [33,44,55,66,77,88]; ary6_x.splice(1,2,'x','y'); console.log(ary6_x); //[33, "x", "y", 66, 77, 88] //删除 let ary6_s = [33,44,55,66,77,88]; console.log(ary6.splice(3,2)); //[66, 77] console.log(ary6_s.splice(3)); //[66, 77, 88]
12.Array.forEach(function),用于调用数组的每个元素,并将元素传递给回调函数。原数组不变。(注意该方法和map的区别,若直接打印Array.forEach,结果为undefined)。
let arr = ['a','b','c','d']; let item = arr.forEach(function(item,index,arr){ console.log(item,index,arr); });
13.Array.filter(function),过滤数组中,符合条件的元素并返回一个新的数组。
14.Array.every(function),对数组中的每一项进行判断,若都符合则返回true,否则返回false。
15.Array.some(function),对数组中的每一项进行判断,若都不符合则返回false,否则返回true。
16.Array.indexOf(function),检测当前值在数组中第一次出现的位置索引,未找到返回-1。
let ary9 = ['a','b','c','d','e','a','f']; console.log(ary9.indexOf('c')); //2 console.log(ary9.indexOf('a',3)); //5
17.Array.includes(),判断一个数组是否包含一个指定的值
let ary13 = ['a','b','c','d']; console.log(ary13.includes('c')); //true console.log(ary13.includes(2)); //false
18.Array.reduce(function),reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
-
-
js 数组有哪些常用方法
2020-06-30 11:10:201、push 向数组的末尾添加一个或更多元素,并返回新的长度。 2、pop 删除并返回数组的最后一个元素 ...8、slice 从数组返回选定的元素slice表示截取,slice(start,end)不改变原数组,返回新数组 9、splice -
js数组方法大全
2020-07-22 18:15:17哪些数组方法会改变原数组 unshift(); push(); shift(); pop(); sort(); reverse(); splice(); 这七个数组方法在上面都有过介绍了,可以看出,再用这些方法的时候,原数组是会被改变的 ... -
c++返回数组长度_面试官:数组的哪些方法有副作用,哪些是没有副作用的?
2021-01-25 23:07:59如题,笔者之前在面试去哪时还真被问到过,由于平时只是在用,没有太注意哪些方法有无副...有副作用的(改变原数组)push()push() 方法将一个或多个元素添加到数组的末尾,并返回该数组的新长度。constarr=['1','2',... -
js数组方法整理
2020-10-22 21:10:371. 数组有哪些常用方法,功能、返回值、是否会对原数组造成影响? 方法 功能 返回值 改变原数组(Y\N) pop() 删除最后一位 删除的数据 Y push() 在最后一位新增一或多个数据 长度 Y shift() 删除第一位 ... -
JavaScript中数组常用的方法总结
2020-09-11 00:17:35对于数组的一些常用方法一定都很了解,就像对于我而言,数组里面的方法基本都有实战或者练习过,所以面试官问起来了解哪些数组的方法的时候,也是很自信满满,但是当面试官再次深问,哪些方法可以改变原数组,... -
你知道数组有哪些实用的高阶函数吗?
2020-08-05 09:50:54前言:数组有很多的方法,都很简单方便,向push,pop等等,但是对于高阶函数在实际使用用的很多,现在就来总结一下方法使用及场景首先,什么是高阶函数:高阶函数,就是函数中可以传入另一个函数作为参数的函数。... -
2.9数组的栈方法 添加删除
2019-10-04 16:02:09一、数组的栈方法有哪些呢 (他们都会改变原数组) 1)添加 arr.push(’ 添加的项 ‘,‘ 添加的项 ’) 从尾部开始添加 返回数组的长度 arr.unshift(’ 添加的项 ',‘ 添加的项 ’) 从头部开始添加 返回数组的长度 ... -
js数组之常用操作方法
2019-09-03 14:10:23想要理解一点东西,就必须用自己的语言和思想...将数组中的每个元素执行传进提供的回调函数,此方法没有返回值,直接改变原数组,注意和map方法区分 let arr = [1, 2, 3, 4, 5] num.forEach(x => x*2) // arr ... -
JS数组和字符串中变异方法和非变异方法总结
2020-03-15 10:33:18最近在使用数组和字符串方法刷题的时候,老是记不清有哪些方法会改变原字符串和原数组的内容,那些不会。百度后发现这些方法称之为变异方法:改变自身实例的方法。故对js的数组和字符串中常见方法哪些属于变异方法作... -
javascript有哪些常用内置对象及方法总结
2018-06-04 21:07:04方法名称 1.Array数组对象unshift( ) 数组开头增加功能:给数组开头增加一个或多个参数:一个或多个返回值:数组的长度原数组发生改变 shift( ) 数组开头删除一项功能:给数组开头删除一个参数:无返回值:被删除... -
那些年,前端学习之路的疑难杂症(三):数组和Date的一些梳理
2017-03-09 18:54:26很多人在学习原生JS的过程中会遇到一些疑惑,比如在学习array时,就很容易搞不清哪些方法会改变原来数组,哪些方法不会改变原来数组?再比如很多人会使用new Date()获取时间,却搞不清楚1970年是什么鬼。这篇文章... -
es6中对数组进行遍历的方法有哪些?区别是什么?
2020-08-21 07:54:451、for … of :改变原数组 ES6引入了for...of循环,作为遍历所有数据结构的统一方法,包括:数组,Set和Map结构,某些类似数组的对象(比如arguments\DOM NodeList对象)、Generator对象,字符串 let arr = ['red',... -
这么多数组方法,你掌握了么?
2019-12-27 16:27:26今天总结一下常用的JS数组方法,以免搞忘了或者记混了,大家觉得还有哪些数组方法在项目里用的特别多我... 有返回值且不改变原数组。 var arr = [1, 2, 3, 4, 5, 6]; var res = arr.map(item => { return i... -
JS reduce()方法交流
2020-07-04 14:16:32js的方法有很多,什么map,some,every,forEach,splice…,哪些有返回值,哪些改变原数组,相信很多人经常容易搞混,今天主要跟家分享下关于js 的reduce方法,为什么,因为比较重要!求和,去重,多维数据转为一维... -
2020前端面试
2020-07-26 19:35:03哪些方法会改变原数组? 谈一下对Promise,Generator, Async Await的理解? async await 怎么处理报错? var、let、const的区别? 手写deepClone? 前端数据结构有哪些?前端数据类型? Proxy 和Object.... -
【2020-12-3】随笔
2020-12-03 22:00:07利用改变原数组的方法slice() - slice()可以不传参数,结果就是将原数组整个切割下来返回一个数组 - slice(start,end),end取不到 var a = [1,2,3]; var b = a.slice(); //b为[1,2,3] var c = a.slice(0,2);//c为[1,... -
Array.from总结。
2018-04-17 17:49:00不会改变原数组结构。类数组都有哪些呐? string,arguments,set,map,nodeList。不确定string,set,map算不算,但是这些都可以转换为数组,姑且算是吧。如果有大神欢迎指导。万分感谢。 那么,接下来看看Array.... -
前端面试题总结
2019-12-17 17:37:01前端面试题总结js部分功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、...1.js数组的方法中哪些是改变原数组... -
函数式编程二:js纯函数-模拟记忆函数memoize
2020-08-16 15:24:13在写记忆函数memoize前我们先来了解一下什么是纯函数?纯函数的好处是什么?为什么要使用纯函数?会有哪些副作用? ...slice返回数组中的指定部分,不会改变原数组。 splice对数组进行操作返回该数 -
阿里巴巴电话初面
2019-10-01 18:12:531、 说一下现在react系统的架构 2、 说一下mobx机制 ...8、 说一下你数组都常用哪些方法,随便说 9、 react和vue有什么区别 10、 为什么要用redux,优势在哪里 11、 map会改变原数据嘛? 12、 说一下... -
哔哩哔哩2020前端笔试题总结
2020-08-13 21:46:374.能改变原数组的方法 5.样式的优先级 6.display的哪些属性可以给行内元素设置宽高的样式 编程题: 1.版本号排序 2.给定一个正整数,求有平方和为这个正整数的最小数量 …大概能回忆出这么多了… ... -
你必须知道的495个C语言问题
2015-10-16 14:14:286.12 既然数组引用会退化为指针,如果array是数组,那么array和&array又有什么区别呢? 6.13 如何声明一个数组的指针? 动态数组分配 6.14 如何在运行时设定数组的大小?怎样才能避免固定大小的数组? 6.15 我... -
你必须知道的495个C语言问题(高清版)
2010-03-31 16:24:09然后又使用一些内存分配技巧使namestr数组用起来好像有多个元素,namelen记录了元素个数。它是怎样工作的?这样是合法的和可移植的吗? 23 2.8 我听说结构可以赋给变量也可以对函数传入和传出。为什么K&R1却明确...
-
2014年重庆理工大学《数据库原理及应用》两套期末考试试卷.pdf
-
用Go语言来写区块链(一)
-
【C++】迭代器
-
2014年重庆理工大学《电子商务(双语)》两套期末考试试卷.pdf
-
【布道者】Linux极速入门
-
2014年重庆理工大学《RFID原理与应用开发》期末考试试卷 .pdf
-
2014年重庆理工大学《操作系统原理及应用》两套期末考试试卷.pdf
-
matlab即将消失的inline小朋友
-
基于java实现的c++动态链接库调用案例
-
SpringBoot 2.3.x整合Swagger3.x接口文档+Knife4jUI
-
MySQL 多实例安装 及配置主从复制实验环境
-
2014年重庆理工大学《面向对象程序设计》期末考试试卷 .pdf
-
Amoeba 实现 MySQL 高可用、负载均衡和读写分离
-
Windows10蓝牙驱动合集
-
JAVA01
-
海泰新光首次公开发行股票并在科创板上市招股说明书.pdf
-
2021年软考系统规划与管理师-上午历年真题解析视频课程
-
历届试题 分考场
-
远程桌面多窗口工具.rar
-
华为1+X——网络系统建设与运维(高级)