concat

     // 数组合并let arr = [1,2]let arrs = [1,2]console.log(arr.concat(arrs))//[1,2,1,2]

join

     let arr = [1,2]console.log(arr.join(','))//1,2 以逗号分割

pop

         // let arr = [1,2]// console.log(arr.pop()) //[2]  删除尾部元素

shift

     let arr = [1,2]console.log(arr.shift())//[1]头部删除

push

     let arr = [1,2]arr.push(3)console.log(arr)//[1,2,3]尾部添加

unshift

     let arr = [1,2]arr.unshift(0)console.log(arr)//[0,1,2]头部添加

reverse

     let arr = [1,2]console.log(arr.reverse())//[2,1]数组反转

slice

     let arr = [1,2,3,4]console.log(arr.slice(0,2))[1,2] //数组截取

sort

默认字典顺序 从小到大 如果是字符串的话 默认前一位数,比如‘29’比‘100’小,比较的是前一位

     let arr = [1,2,3,4]console.log(arr.sort((a,b)=>{return b-a})) //排序

splice

     let arr = [1,2,3,4]arr.splice(2,2)//参1 起始删除的下标,参2 删除的数量console.log(arr)//[1,2]arr.splice(2,0,3)//参1 起始的下标,参2 0 不删除 参3 添加console.log(arr)//[1,2,3]arr.splice(2,1,4)参1 起始的下标,参2 删除 参3 替换console.log(arr)//[1,2,4]

toString

     let arr = [1,2,3,4]console.log(arr.toString())// 1,2,3,4转化字符串

toLocaleString

 let arr = [1,2,3,4]console.log(arr.toLocaleString())// 1,2,3,4转化本地数组,可以转化时间

forEach

     let arr = [1,2,3,4]arr.forEach(item=>console.log(item))//1 2 3 4

map

Map: ES6 提供了新的数据结构。它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。Map 结构提供了“值—值”的对应。
size 属性: 返回 Map 结构的成员总数。

     const map = new Map();map.set('foo', true);map.set('bar', false);console.log(map.size) // 2console.log(map) // 0: {"foo" => true} 1: {"bar" => false}

set(key, value): set方法设置键名key对应的键值为value,然后返回整个 Map 结构。如果key已经有值,则键值会被更新,否则就新生成该键。返回的是当前的Map对象

     const m = new Map();m.set('aa', 6)        // 键是字符串m.set(262, 'standard')     // 键是数值m.set(undefined, 'nah')    // 键是 undefinedconsole.log(m)//链式写法let map = new Map().set(1, 'a').set(2, 'b').set(3, 'c');console.log(map)

get(key): get方法读取key对应的键值,如果找不到key,返回undefined。

     const m = new Map();const hello = function () {console.log('hello');};m.set(hello, 'Hello ES6!') // 键是函数m.set(undefined, 'Undefined!') // 键是undefinedconsole.log(m.get(hello)); // Hello ES6!console.log(m.get(undefined)); // Undefined!console.log(m)

has(key): 返回一个布尔值,表示某个键是否在当前 Map 对象之中。

     const m = new Map();m.set('aaa', 6);m.set(111, 'standard');console.log(m.has('aaa'))     // trueconsole.log(m.has('bbb'))     // falseconsole.log(m.has(111))

delete(key): 删除某个键,返回true。如果删除失败,返回false。

     const m = new Map();m.set(undefined, 'aaa');console.log(m.has(undefined))     // truem.delete(undefined)console.log(m.has(undefined))       // false

clear(): clear方法清除所有成员,没有返回值

     let map = new Map();map.set('foo', true);map.set('bar', false);console.log(map.size) // 2map.clear()console.log(map.size) // 0

filter

filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
注意: filter() 不会对空数组进行检测。
注意: filter() 不会改变原始数组
Array的filter接收一个函数。但是和map不同的是, filter把传入的函数依次作用于每个元素,然后根据返回值是 true 还是false决定保留还是丢弃该元素。

     let arr = [1,2,3,4]console.log(arr.filter(item=> {return item >3}))//4

去重操作
filter 接收的回调函数,其实可以有多个参数。通常我们仅使用第一个参数,表示Array的某个元素。回调函数还可以接收另外两个参数,表示元素的位置和数组本身

var Arr,arr = ['apple', 'strawberry', 'banana', 'pear', 'apple', 'orange', 'orange', 'strawberry'];Arr = arr.filter(function (element, index, self) {// console.log(self) //数组// console.log(index)//下标// console.log(element)//属性值return self.indexOf(element) === index;});console.log(Arr);

every

用于检测数组中所有元素是否都符合指定条件,若符合返回true,否则返回false

     let arr = [1,2,3,4]console.log(arr.every(item=> {return item >0}))//true

some

用于检测数组中的元素是否有满足指定条件的,若满足返回true,否则返回false

     var arr = [1,-56,80,-5];var main = arr.some(n => n > 0);console.log(main)    //输出:true

reduce

     // 回调函数中有4个参数。// prev(之前计算过的值),// next(之前计算过的下一个的值),// index,arr。把数组列表计算成一个单一值 。var arr = [10, 20, 30, 40]let list = arr.reduce(function (prev, next, index, arr) {return prev + next;console.log(prev)// 只打印第一个console.log(next)//不打印第一个})console.log(list);  //输出:100

Array.from

将对象或字符串转成数组,注意得有length

     let str = '12345'console.log(Array.from(str))

Array.of

     let str = '12345'console.log(Array.of(str))//[12345]

copyWithin

// 将3号位复制到0号位
[].copyWithin.call({length: 5, 3: 1}, 0, 3)
// {0: 1, 3: 1, length: 5}// 对象转数组(建议用es6的Array.from(Obj)转换比较直观)
Array.from({length: 5, 3: 1})
// [undefined, undefined, undefined, 1, undefined]// 转换完毕,进行处理
[undefined, undefined, undefined, 1, undefined].copyWithin(0,3);
// [1, undefined, undefined, 1, undefined]
// 恢复回类对象(忽略undefined,补上length)
[0:1,3:1,length:5]

find

用于找出第一个符合条件的数组成员

     let arr = [1,2,3,3,4,5]console.log(arr.find(item=> {return item==3}))//3

findIndex

返回第一个符合条件的数组成员的位置,如果所有成员都不符合条件,则返回-1

     let arr = [1,2,3,3,3,4,5]console.log(arr.findIndex(item=> {return item==3}))

keys,values,entries

keys循环遍历key值,就是下标
valuse遍历valie值,就是属性值
entries遍历键值队列,属性:属性值

     var arr = ["a","b","c","d"];for(let index of arr.keys()){console.log(index);//0,1,2,3}for(let elem of arr.values()){console.log(elem);//a,b,c,d}for(let [index,elem] of arr.entries()){console.log(index,elem);//0 a,1 b,2 c,3 d,}

flat

flat() 方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。

     var arr = [1,[2,[3,[4,[5,[6]]]]]]console.log(arr.flat(Infinity))

flatmap

flatMap() 方法首先使用映射函数映射每个元素,然后将结果压缩成一个新数组。它与 map 和 深度值1的 flat 几乎相同,但 flatMap 通常在合并成一种方法的效率稍微高一些。 这里我们拿map方法与flatMap方法做一个比较。

     var arr1 = [1, 2, 3, 4];arr1.map(x => [x * 2]);// [[2], [4], [6], [8]]arr1.flatMap(x => [x * 2]);// [2, 4, 6, 8]// 只会将 flatMap 中的函数返回的数组 “压平” 一层arr1.flatMap(x => [[x * 2]]);// [[2], [4], [6], [8]]

Set

Set: ES6 提供了新的数据结构。它类似于数组,但是成员的值都是唯一的,没有重复的值。
Set本身是一个构造函数,用来生成 Set 数据结构。
Set函数可以接受一个数组(或者具有 iterable 接口的其他数据结构)作为参数,用来初始化。

size属性: 返回Set实例的成员总数。

     let set = new Set();set.add('a');console.log(set.size) // 1set.add("b");console.log(set.size) //2

add(value)添加某个值,返回 Set 结构本身

     let set = new Set();set.add(1).add(2);console.log(set.size) // 2console.log(set)set.add(1).add(2).add(2).add(3);console.log(set.size) // 3 console.log(set)//2被添加两次,set可以去重

delete(value):删除某个值,返回一个布尔值,表示删除是否成功

     let set = new Set();set.add(1).add(2).add(3);console.log(set.size) //3set.delete(2);console.log(set)// 1,3console.log(set.size) //2

has(value):返回一个布尔值,表示该值是否为Set的成员。

     let set = new Set();set.add(1).add(2);console.log(set.has(1)) // trueconsole.log(set.has(2)) // trueconsole.log(set.has(3)) // false

clear():清除所有成员,没有返回值。

     let set = new Set();set.add(1).add(2).add(2).add(3);set.clear();console.log(set.size)//0console.log(set)

JS数组ES3-ES6常用方法相关推荐

  1. Js Array数组ES5/ES6常用方法

    Js Array数组ES5/ES6常用方法 1.栈方法(先进后出) push():在数组的最后一项后追加值(参数:可以为多个值或数组) 返回:数组的长度,改变了原数组. var a=[1,2,3] a ...

  2. html编写数组求和,JS数组求和的常用方法总结【5种方法】

    本文实例总结了JS数组求和的常用方法.分享给大家供大家参考,具体如下: 题目描述 计算给定数组 arr 中所有元素的总和 输入描述: 数组中的元素均为 Number 类型 输入例子: sum([ 1, ...

  3. js数组、字符串常用方法和互相转换,==和===

    2019独角兽企业重金招聘Python工程师标准>>> js基础的东西有很多还是不容忽视的,记录保存下来就可以时刻查看了(更深刻的理解). js脚本特点:基于对象.多范式.动态性. ...

  4. JS数组循环遍历常用方法总结

    1. for 循环 for 循环在JavaScript 刚萌生的时候就出现了,for循环是使用临时变量,将长度缓存起来,避免重复获取数组长度,当数组较大时优化效果才会比较明显.for循环没有返回值. ...

  5. js数组和字符串常用方法总结

    在js中数组是我们经常使用的,js内置了许多有关数组的方法.在此,我对常见的数组方法进行列举: 1.创建数组 使用new Array()的方法创建数组:var arr = new Array();如果 ...

  6. JS 数组的定义+常用方法

    数组定义的两种方式 1. 系统自带的构造方法 new Array(length/content); 例: var arr = new Array(1,2,3,4,5) 这种写法和使用数组字面量实现的效 ...

  7. js数组对象的常用方法

    1.join() a.join()将数组a中的各项连接成一个字符串,并将该字符串返回 参数为连接各项的字符,默认为逗号 2.sort() a.sort()把数组a中的各项按从小到大的顺序排列,并将排序 ...

  8. js数组初始化——ES6 Array.prototype.fill()实践记录

    Array.prototype.fil()方法:用给定值填充数组 初始化: let array = new Array(5).fill(false); console.log(array); //显示 ...

  9. js数组array的常用方法

    数组array 方法1: slice[start,end]:返回从原数组中指定开始下标到结束下标之间的项组成的新数组(原数组不变) 1个参数:n,即n到末尾的所有 2个参数:[start,end] v ...

  10. JS数组去重 ES6 方法

    let arr = [0, 0, 0, 0, 1, 2, 3, 4, 4, 5, 2, 3, 3, 3, 9, 8, 9]; //数组去重法1 console.log(Array.from(new S ...

最新文章

  1. Android JNI开发入门之一
  2. paddle版fnet_google
  3. [.NET开发] C#编程调用Cards.dll实现图形化发牌功能示例
  4. Mysql学习总结(25)——MySQL外连接查询
  5. 18.HMM隐马尔可夫模型
  6. 搭建hbase-0.94.26集群环境
  7. 春天猫rtsy_春天:注入列表,地图,可选对象和getBeansOfType()陷阱
  8. c语言 vc++6.0集成开发环境的使用,VC6.0集成开发环境的使用.ppt
  9. thymealf 高级用法_史上最详 Thymeleaf 使用教程
  10. 2018蓝桥杯A组:方格计数(3种方法)
  11. 拓端tecdat|r语言中对LASSO回归,Ridge岭回归和弹性网络Elastic Net模型实现|视频
  12. seata分布式事务原理_分布式事务 Seata 及其三种模式详解
  13. Dynamips--RIP协议分析的详细过程1--前期工作准备
  14. win7连接共享打印机时安装驱动程序出现0x00000bcb错误
  15. 被欧美公司垄断的工业软件,中国还有机会吗?
  16. 网站代码sql注入攻击漏洞修复加固防护措施
  17. IDEA全局搜索快捷键(ctrl+shift+F)失效修复
  18. echart 图表类型
  19. 网络协议栈TSO/UFO/GSO/LRO/GRO/RSS特性
  20. mongodb compact 理解

热门文章

  1. 微信小程序审核未通过的 “N” 种原因
  2. import xx fromxx 的含义
  3. 纯MSDOS操作系统下的计算机重启与关机
  4. Python 查找算法_众里寻他千百度,蓦然回首那人却在灯火阑珊处(线性、二分,分块、插值查找算法)
  5. matlab ascii显示,matlab ASCII 格式导入
  6. (Note)航世BOW G19键盘 —— 使用说明书
  7. NOIP 模拟题 小G的城堡
  8. G.703接口和E1接口区别
  9. 【已解决】 “discovered_interpreter_python“: “/usr/bin/python“
  10. 使用Layered分层窗口实现视频会议中的桌面区域共享