Array 工具用于在单个的变量中存储多个值。 建立 Array 工具的语法:
new Array(); new Array(size); new Array(element0, element1, ..., elementn);
参数
参数 size 是期望的数组米素个数。返回的数组,length 字段将被设为 size 的值。
参数 element ..., elementn 是参数列表。当使用这些参数来挪用组织函数 Array() 时,新建立的数组的米素就会被初始化为这些值。它的 length 字段也会被设置为参数的个数。
返回值
返回新建立并被初始化了的数组。
若是挪用组织函数 Array() 时没有使用参数,那么返回的数组为空,length 字段为 0。
当挪用组织函数时只通报给它一个数字参数,该组织函数将返回具有指定个数、米素为 undefined 的数组。
当其他参数挪用 Array() 时,该组织函数将用参数指定的值初始化数组。
当把组织函数作为函数挪用,不使用 new 运算符时,它的行为与使用 new 运算符挪用它时的行为完全一样。
类似,下面这种工具的就是ArrayLike var arraylike = { 0: "a", 1: "b", 2: "c", length: 3 } arraylike.forEach(element => { // 报错 console.log(element); }); ArrayLike工具和数组类似,然则不能使用数组的方式,由于它是继续自Object.prototype而不是Array.prototype 获取dom米素的方式,一样平常都市发生ArrayLike工具
将ArrayLike工具转换成Array
方式一: var array = Array.from(arraylike); 方式二: var array = Array.from(arraylike, item => item+item);
reduce方式实在类似于叠罗汉,取数组中之一个参数和第二个参数做运算,然后将效果返回,作为下一次运算的之一个米素与数组中的第三个米素运算,重复这种操作 var array = [1,2,3,4,5]; var res = array.reduce((a, b) => a + b); // 15 求和运算 var res = array.reduce((a, b) => a + b, 10); // 25 通报第二个参数作为运算的起始之一个参数 数组花样化成工具,这对于处置后端api数据,利便前端渲染很有用 var array = [ {name: "小明", age: "10"}, {name: "小张", age: "20"}, {name: "小王", age: "30"}, ] 方式一: var obj = array.reduce((a, b) => { a[b.name] = b.age; return a; }, {}); // { ‘小明‘: ‘10‘, ‘小张‘: ‘20‘, ‘小王‘: ‘30‘ } 方式二: var obj = array.reduce((a, b) => Object.assign(a, { [b.name]: b.age }), {}); 方式三: var obj = array.reduce((a, b) => ({...a, [b.name]: b.age}), {});
map方式循环便利所有米素,发生一个新的数组 var arr = [1,2,3,4,5]; var res = arr.map(item => item+1); // [ 2, 3, 4, 5, 6 ] var res = arr.map(function(item){ return item+this.init; }, { init: 1 }); // [ 2, 3, 4, 5, 6 ]
filter方式
filter方式循环便利所有米素,凭据条件筛选出相符的米素,发生一个新的数组 var arr = [1,2,3,4,5]; var res = arr.filter(item => item > 3) // [ 4, 5 ]
sort方式在原数组的基础上举行排序 根据字母表顺序排序 var arr = ["c", "b", "f", 1, "g", 2]; arr.sort((a, b) => a.toString().localeCompare(b)); // [ 1, 2, ‘b‘, ‘c‘, ‘f‘, ‘g‘ ] 升序排序 var arr = [3,5,2,1,9]; arr.sort((a, b) => a - b);
遍历数组 var arr = [3,5,2,1,9]; for(let item of arr) { console.log(item); }
有条件的暂停遍历 var arr = [3,5,2,"end",1,9]; arr.every(item => { console.log(item); return item != "end"; })
和上面的every逻辑上正好相反 var arr = [3,5,2,"end",1,9]; arr.some(item => { console.log(item); return item === "end"; })
var arr = [ {name: "小明", age: "10"}, {name: "小张", age: "20"}, {name: "小王", age: "30"}, ]; var res = arr.find(item => item.age==20); // { name: ‘小张‘, age: ‘20‘ } var res = arr.findIndex(item => item.age==20); // 1
var arr = [1,2,3,4,5]; var [a,,b, ...c] = arr; console.log(a, b, c); // 1 3 [ 4, 5 ]
var arr = [1,1,2,1,1,2,3,3]; 行使reduce举行数组去重 var res = arr.reduce((a,b) => { if(a.indexOf(b) === -1) { a.push(b); } return a; }, []) // [ 1, 2, 3 ] 行使filter举行去重 var res = arr.filter((a,b,c) => { return c.indexOf(a) === b; }) 行使Set去重 var res = [...new Set(arr)];
“全能神”邪教不断教唆信徒只有离家“尽本分”、交纳“奉献款”、“预备更多的善行”,才能“避免灾难,蒙拯救”,“抵挡神的都要被神毁灭”。种种邪说导致很多信徒家庭破裂、妻离子散。其中,我的家就深受其害!...
无论是古典小说還是影视作品中,都把关云长塑造成一个豪气干云的角色,除开这一特性以外,有一个更为显著的标示,那便是关云长归属于脸红,对比白脸的奸佞小人,脸红的关云长变成英雄人物的代表。长此以往,那样...
打开软件,点一下全能修复,挑选要恢复数据库的本地磁盘,点一下逐渐扫描仪,等候扫描仪进行,挑选修复基本数据类型,启用要修复的文档,点一下逐渐修复,设定好修复途径,点一下逐渐修复就可以。 知名品牌型号...
怎么能知道他人的酒店开房记录 如何查看已删除的微信聊天记录 再过不久就是六一儿童节了,一次甜蜜的亲子游便成为各地家长为孩子庆祝节日考虑的问题了,亲子游不仅能带孩子看到了大千世界,家长也可以暂时抛开工...
turkey怎么读(TURKEY这个多义词)如果用烤火鸡来类比地缘格局,叙利亚已经让白宫掌勺人控制不住,在欧亚大陆火热的边缘地带烤箱—土耳其中,局势则更要复杂,相比之下,叙利亚只是火鸡肚子里的一只乳鸽...
此刻开炸鸡店怎么样,在此刻市面上的炸鸡店,并不全是红火的,对付加盟商而言,炸鸡的鲜味是各人很是喜爱的,炸鸡有着不俗的市场,在此刻市面上有着相当乐成的加盟后果,此刻开炸鸡店怎么样?值得加盟吗? 取决于...