javaScript之数组常规用法

1.unshift:将参数添加到原数组开头,并返回数组的长度。

(1).定义数据
var arr = [1,2,3,4,5]
(2).使用方法
console.log(arr1.unshift(-1,0)) 
(3).结果
a:arr[-1,0,1,2,3,4,5] b:6

2.push:将参数添加到原数组末尾,并返回数组的长度。

(1).定义数据
var arr = [1,2,3,4,5]
(2).使用方法
console.log(arr1.push(6,7)) 
(3).结果
a:arr[1,2,3,4,5,6,7] b:6

3.shift:删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined。

(1).定义数据
var arr = [1,2,3,4,5]
(2).使用方法
console.log(arr.shift()) 
(3).结果
a:arr[2,3,4,5] b:1

4.pop:删除原数组尾一项,并返回删除元素的值;如果数组为空则返回undefined。

(1).定义数据
var arr = [1,2,3,4,5]
(2).使用方法
console.log(arr1.pop()) 
(3).结果
a:arr[1,2,3,4] b:3

5.数组合并concat,返回一个新数组,是将参数添加到原数组中构成的。

(1).定义数据
var arr = [1,2,3,4,5]
(2).使用方法
console.log(arr.concat(6,7)) 
(3).结果
a:arr[1,2,3,4,5] b:arr[1,2,3,4,5,6,7]

6.slice(start,end) 数组截取 返回从原数组中指定开始下标到结束下标之间的项组成的新数组,但不包括结束位置的项。

(1).定义数据
var arr = [1,2,3,4,5]
(2).使用方法
console.log(arr.slice(2,5))
console.log(arr.slice(2)) 
(3).结果
arr[3,4,5]
arr[3,4,5]

7.join(separator) 数组拼接成字符串,将数组的元素组起一个字符串,以separator为分隔符,省略的话则用默认用逗号为分隔符。

(1).定义数据
var arr = [1,2,3,4,5]
(2).使用方法
result = arr.join("|") 
(3).结果
a:arr[1,2,3,4,5] b:"1|2|3|4|5"

8.splice(start,deleteCount,val1,val2,...),从start位置开始删除deleteCount项,并从该位置起插入val1,val2,...

(1).定义数据
var arr = [1,2,3,4,5]
(2).使用方法
console.log(arr.splice(2,2,7,8,9))
(3).结果
a:arr[1,2,7,8,9,5] b:arr[3,4] 截取第2个后,第3个推上去截取,在截取的地方插入val

9.数组去重

(1).定义数据
var plants = ['javaScript', 'style', 'php', 'java', 'html', 'style', 'mysql', 'spring', 'javaScript', 'python'];
(2).使用方法
Array.from(new Set(plants)); 
[...new Set(plants)]; 
(3).结果
["javaScript", "style", "php", "java", "html", "mysql", "spring", "python"]

10.删除数组中的假值

(1).定义数据
var plants = ['javaScript', 'style', 'php', null, undefined, false, "", NaN, 'java', 'html', 'style', 'mysql', 'spring', 'javaScript', 'python'];
(2).使用方法
plants.filter(Boolean);
(3).结果
["javaScript", "style", "php", "java", "html", "style", "mysql", "spring", "javaScript", "python"]

11.获取数组中的随机值

(1).定义数据
var plants = ["javaScript", "style", "php", "java", "html", "mysql", "spring", "python"]
(2).使用方法
plants[Math.floor(Math.random() * (plants.length + 1))];
(3).结果
javaScript;

12.数组合并

(1).定义数据
var plants1 = ["javaScript", "style", "php", "java", "html", "mysql", "spring", "python"]
var plants2 = ["javaScript", "style", "vue", "java", "html", "react", "spring", "node"]
(2).使用方法
plants1.concat(plants2)
[...plants1,...plants2]
Array.from([...plants1,...plants2])
(3).结果
["javaScript", "style", "php", "java", "html", "mysql", "spring", "python", "javaScript", "style", "vue", "java", "html", "react", "spring", "node"]

13.数据填充数组

(1).定义数据
var plants = new Array(9).fill('9');
(2).使用方法
fill;
(3).结果
['9', '9', '9','9', '9', '9','9', '9','9'];

14.清空数组

(1).定义数据
var plants = ['javaScript', 'style', 'php', 'java', 'html', 'style', 'mysql', 'spring', 'javaScript', 'python'];
(2).使用方法
plants = [];
plants.length = 0;
(3).结果
[];

15.数组转换对象

(1).定义数据
var plants = ['javaScript', 'style', 'php', 'java', 'html', 'style', 'mysql', 'spring', 'javaScript'];
(2).使用方法
var plantsObj = {...plants }
(3).结果
{0: "javaScript", 1: "style", 2: "php", 3: "java", 4: "html", 5: "style", 6: "mysql", 7: "spring", 8: "javaScript"}

16.数组的所有值相加

(1).定义数据
var plants = ['javaScript', 'style', 'php', 'java', 'html', 'style', 'mysql', 'spring', 'javaScript', 'python'];
(2).使用方法
plants.reduce((x, y) => x + y)
(3).结果
45;

17.数组元素最后一次出现的索引

(1).定义数据
var plants = ['javaScript', 'style', 'php', 'java', 'html', 'style', 'mysql', 'spring', 'javaScript', 'python'];
(2).使用方法
plants.lastIndexOf('java')
(3).结果
3;

18.替换数组中的指定值

(1).定义数据
var plants = ['javaScript', 'style', 'php', 'java', 'html', 'style', 'mysql', 'spring', 'python'];
(2).使用方法(splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。该方法会改变原始数组。特别需要注意插入值的位置!)
var result = plants.splice(2, 1, 'vue')
(3).结果
console.log(plants); // ["javaScript", "style", "vue", "java", "html", "style", "mysql", "spring", "python"]
console.log(result); // ["php"]

19.没有map()的映射数组

(1).定义数据
 var plants = [{name: "javaScript"},{name: "react"}, {name: "vue"},]
(2).使用方法
var plantsName = Array.from(plants, ({name}) => name);
(3).结果
["javaScript", "react", "vue"]

20.数组排序之字符串升降序

(1).定义数据
var plants = ['javaScript', 'style', 'php', 'java', 'html', 'mysql', 'spring', 'python'];
(2).使用方法
  plants.sort()  //升序
  plants.reverse()  //降序
(3).结果
 ["html", "java", "javaScript", "mysql", "php", "python", "spring", "style"]
 ["python", "spring", "mysql", "html", "java", "php", "style", "javaScript"]

21.数组排序之数字升降序

(1).定义数据
var points = [40, 100, 1, 5, 25, 10];
(2).使用方法
points.sort(function (a, b) {return b - a})  //es5写法
points.reverse(function (a, b) {return b - a})  //es5写法
points.sort((a, b) => a - b)  //es6写法
points.reverse((a, b) => a - b)  //es6写法
(3).结果
[100, 40, 25, 10, 5, 1]
[1, 5, 10, 25, 40, 100]
[1, 5, 10, 25, 40, 100]
[100, 40, 25, 10, 5, 1]
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,417评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,921评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,850评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,945评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,069评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,188评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,239评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,994评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,409评论 1 304
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,735评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,898评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,578评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,205评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,916评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,156评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,722评论 2 363
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,781评论 2 351

推荐阅读更多精彩内容