数组的方法

数组方法:

不改变原数组:

1、concat:连接两个或多个数组,并返回结果

var a=[1,2,3];  a.concat([4,5]); 
结果:[1, 2, 3, 4, 5] 
 a;结果:[1, 2, 3]

2、join:把数组的所有元素放入一个字符串,并使用指定的分隔符进行分隔 数组转化为字符串

var a=[1,2,3];  a.join("|");    
结果:"1|2|3"             
a;结果:[1, 2, 3]

3、slice:从已有数组中选定元素,并返回选定的元素 裁剪

var a=[1,2,3];  a.slice(1,3);    
结果:[2,3]                
a;结果:[1,2,3]

4、toString:将数组转换成字符串,并返回结果(与无参数的join方法返回结果一致),使用逗号进行分隔

var a=[1,2,3];  a.toString();   
结果"1,2,3"               
a;结果:[1,2,3]

5、map:格式化数组 改变内容

var a=[1,2,3,4,5];  
var b=a.map(function(current,index,array){return current + ) 
 b:[2,3,4,5,6]  
 a:[1,2,3,4,5]

6、filter:过滤 根据条件判断,返回数组中满足条件的元素组成的新数组 current:当前值 index:当前值下标 array:这个数组对象

var a=[1,2,3,4,5]; 
var b = a.filter(function(current,index,array){return current < 10})
b:[1,2,3,4]    
a;[1,2,3,4,11]

改变原数组

1、pop:删除并返回数组的 最后一个元素

var a=[1,2,3];  a.pop(); 
结果:3               
a;结果:[1,2]

2、shift:删除并返回数组的 第一个元素

var a=[1,2,3];  a.shift();        
结果:1               
a;结果:[2,3]

3、push:向数组的末尾添加元素,并返回数组的长度

var a=[1,2,3];  a.push(4,5);     
结果:5(数组长度)    
a;结果:[1, 2, 3, 4, 5]

4、reverse:颠倒数组中元素的顺序,并返回结果

var a=[1,2,3];  a.reverse();     
结果:[3, 2, 1]       
a;结果:[3, 2, 1]

5、unshift:在数组的开始位置添加元素,并返回数组长度

var a=[1,2,3];  a.unshift(4,5);  
结果:5(数组长度)      
a;结果:[4, 5, 1, 2, 3]

6、splice:向数组内添加/删除元素,并返回删除的元素

var a=[1,2,3];  a.splice(1,1);    
结果:[2]             
a;结果:[1, 3]

7、sort:对数组进行排序,并返回排序结果

var a=[1,2,3];  a.sort();         
结果:[1, 11, 2, 3]   
a;结果:[1, 11, 2, 3]

字符串方法

先定义一个字符串 var str = “abbcalgldkjgldgehlgjldf”;
1,indexOf(),返回指定字符创第一次出现的位置。

 str.indexOf('a') //结果是0

2,lastIndexOf(),返回指定字符串最后一次出现的位置。

 str.lastIndexOf('f') //结果是22

3,substring(),提取字符串中两个指定索引号之间的字符(两个索引不能为负值)

 str.substring(0,5) //结果是abbca

4,slice(), 提取字符串中两个指定索引号之间的字符(索引可以为负值,-1就是倒数第二位)

str.slice(0,-5) //结果是abbcalgldkjgldgehl

5,charAt(),返回指定索引的字符

str.charAt(1) //结果是b

6,concat(),连接两个或多个字符串,返回连接后的新字符串。

var str2 = "1";         
str.concat(str2) 结果是abbcalgldkjgldgehlgjldf1

7,split(),把字符串分割为子字符串数组

str.split() 结果是["abbcalgldkjgldgehlgjldf"]

8,toString(),返回字符串对象,比如把数字转换成字符串对象。
9,trim(),移除字符串首位空格,经常在对input和textarea的值做判断时用到。
10,toLowerCase(),把字符串转换成小写的。
11,toUpperCase(),把字符串转换成大写的。
12,match(),找到一个或者多个子串或者正则表达式的匹配。
13,replace(),替换指定子串或者与正则表达式匹配的子串。
14,search(),检索指定子串或者与正则表达式匹配的值,返回的值是数字。

Number方法

 var num = Number(5.123);      //5.123

1、toString() 使用指定进制,将一个数字转换为字符串。

document.write(num.toString() + "<br/>");  //5.123

2、toLocaleString() 将一个数字转换为本地数字格式的字符串。

3、toFixed() 将一个数字转换为包含指定小数位数的字符串。

document.write(num.toFixed(2) + "<br/>");  //5.123

4、toExponential() 讲一个数字转换为字符串,使用指定数目的有效数字。

document.write(num.toPrecision(2) + "<br/>"); //5.123

5、valueOf() 返回一个Number对象的原始值。

document.write(num.valueOf() + "<br/>");  //5.123

6、toExponential() 用指数计数法格式化一个数字

document.write(num.toExponential(1));   //5.1e+0

对象方法

属性:firstName 值:Bill
属性:lastName 值:Gates
属性:age 值:62
属性:eyeColor 值:blue
属性:fullName 值:function() {return this.firstName + " " + this.lastName;}

spice()
删除:(1,2) 第一项的位置,删除的个数
添加:(1,0,2) 起始位置,0(要删除的项数),要添加的项
替换:(1,2,3) 起始位置,删除的项数,添加的项数

reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
total 必需。初始值, 或者计算结束后的返回值。
currentValue 必需。当前元素
currentIndex 可选。当前元素的索引
arr 可选。当前元素所属的数组对象。

对象合并

Object.assign(obj,ajax)
{...obj,..ajax}

数组迭代的方法

  • forEach() 参数index为数组索引号,val为对应索引号的值
  • map() 返回一个新数组
  • filter 用于筛选符合条件的数组元素,返回一个新数组
  • some 用于检测数组中是否有符合条件的元素,它返回一个布尔值
  • reduce 用于遍历求和,它有两个参数,参数一中也可以有两个参数,参数一的one为上一次的返回值,two为遍历数组的当前值

foreach 和 map 的区别

相同点:循环遍历数组中的每一项、
每次执行匿名函数都支持3个参数(item,index,arr)
匿名函数中的this都是指向window、只能遍历数组
不同点:forEach 没有返回值。map有返回值可以return 出来。

foreach 和 map 和 filter 的区别

map:对数组中的每一项运行给定函数,
     返回每次函数调用的结果组成的数组。有返回值
forEach:对数组的每一项运行给定函数,这个方法并没有返回值。
filter:不对空数组检测,空数组返回underfined,对原数组过滤筛选,
		返回新数组

数组去重

es6的set对象:[...new Set(arr)]
双层for循环,逐一对比,有相同的只取一位
使用sort排序相邻比较,再用splice去除重复元素
使用indexof查找元素第一次出现的位置是否为当前位置,
若是就放进新数组中,或者findIndex查找
some方法

数组常用方法:

  • for,数组常规遍历方法
  • forEach,只是遍历,没有返回值
  • map,遍历,返回一个新数组
  • some,只要有一个符合就返回true
  • every,必须全部都一致才会返回
  • filter,数组的过滤,返回数组
  • fill,填充数组
  • sort,正序排序,会修改原数组
  • reverse,数组倒序排序,会修改原数组
  • pop,从尾部删除并返回被删除项
  • push,向尾部添加
  • shift,从头部删除并返回被删除项
  • unshift,向头部添加
  • splice,对数组增删改,修改原数组
  • slice,对数组截取,返回新数组,不修改原数组
  • reduce,从左向右累计计算
  • reduceRight,从右向左累计计算
  • concat,合并数组
  • flat,将数组降维
  • join,把数组转为字符串
  • find,找出匹配的第一个元素,找不到返回null
  • findIndex,查找匹配的下表,找不到返回null
  • indexOf,从前面开始查找,找到下标,不存在返回下标
  • lastIndexof,从最后一个元素查找
  • resolve : 反转数组
  • Array.of,把值转为一个项的数组
  • Array.form,把为数组转为数组

对象常用方法:

  • Object.keys(),将对象的属性名转为数组
  • Object.entries,将对象以键值对分割成数组
  • Object.values(),将对象的属性值转为数组
  • Object.assign(),将所有可枚举属性的值从一个或多个源对象分配到目标对象。它将返回目标对象
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值