JS的字符串数组对象方法

javascript


数组方法(改变原数组)


1. push 在数组后面加入元素 返回值是插入元素后的数组长度

数组.push(参数1,参数2…)

2.pop 在数组取下最后一个元素 返回值是取下的元素

数组.pop()

3.shift 在数组取下第一个元素 返回值是取下的元素

数组.shift()

4.unshift 在数组前面加入元素 返回值是插入元素后的数组长度

数组.unshift(参数1,参数2…)


5.splice 增加 删除 修改 返回值是截取下来的元素组成的数组

​ 数组.splice(start,length,数据1,数据2…)

​ start开始截取的位置,length截取长度,第三个数据开始,在start位置插入的元素

6.reverse 数组逆序
reverse();

7.sort 数组排序(默认按字符串从小到大排序)

​ 数组.sort();

​ 按数值小到大排序需要插入函数

function(value1,value2){return:value1-value2}  

​ 小到大 value2-value1



数组方法(不改变原数组)


8.join 将数组的元素,用传入的拼接符,拼接成字符串 返回值是拼接好的字符串

​ 数组.join(字符串); (原字符串不变)

9.concat 拷贝原数组,生成新数组 返回值是产生的新数组

      arr2=arr1.concat();

      合并数组(原数组不变)

      数组.concat(数据,数据…(也可以是数组))


10.slice 提取元素生成新数组,返回值是新数组

​ 数组.slice(start,end(包括开始,不包括结束))(原数组不变)

11. indexOf 查找给定元素的第一个索引

​ 数组.indexOf() 如果存在返回索引号,如果不存在,则返回-1;

12.lastIndexOf 查找给定元素的最后一个索引

​ 数组.lastIndexOf() 如果存在返回索引号,如果不存在,则返回-1;

13.forEach 遍历数组
[ ].forEach(function(value,index,array){
 
    //code something
    第一个参数是遍历的数组内容,
		第二个参数是对应的数组索引,
		第三个参数是数组本身
    无返回值
  });
  
-------------------------------------------------------------------------   
 var arr = [1,2,3,4]; 
 arr.forEach(alert); 
 
//    等价于:
    
 var arr = [1, 2, 3, 4];
 
 for (var k = 0, length = arr.length; k < length; k++) {
    
  alert(array[k]);
    
    } 


14.map 映射数组
[ ].map(function(value,index,array){
 
    //code something
    映射数组
    以return的方式映射条件
    eg: return value * 10;
		返回值:映射后的新数组
  });

15.filter 过滤数组
[ ].filter(function(value,index,array){
 
    //code something
    过滤数组
    以return的方式作过滤条件
    eg: return value > 100;
		返回值:过滤后的新数组
  });

16.every 判断是否全部满足条件
[ ].every(function(value,index,array){
 
    //code something
    判断数组是不是每一项都满足条件
    以return的方式作判断条件
    eg: return value > 100;
		返回值:一个布尔值
  });

17.some 判断是否有满足条件的
[ ].some(function(value,index,array){
 
    //code something
    判断数组是不是某一项满足条件
    以return的方式作判断条件
    eg: return value > 100;
		返回值:一个布尔值

		some也可用于循环寻找元素 符合条件后使用 return true 固定语法终止循环
		比foreach更节省性能
  });

18.reduce 累加求和
[ ].reduce(function(sum,value,index,array){
 
    //code something
    实现数组中某一项的累加求和
    以return的方式返回累加结果
    eg: return sum += 1;
		返回值:sum求和结果
		init为求和的初始值 即sum的初始值
  },init);

当传入init时 第一次循环 sum的值为init value的值为数组中的第一个元素

当没有传入init时 第一次循环时sum的值为数组中的第一个元素 value的值为数组中的第二个元素

每次循环结束 sum的值为当次函数的返回值


19.find 用于找出第一个符合条件的数组成员
[ ].find(function(value,index,array){
 
    //code something
    找出第一个符合条件的数组成员
    以return的方式作判断条件
    eg: return value ==2;
		返回值:没有找到则返回undefined
  });

20.findIndex 用于找出第一个符合条件的数组成员的位置(索引)
[ ].findIndex(function(value,index,array){
 
    //code something
    找出第一个符合条件的数组成员
    以return的方式作判断条件
    eg: return value >9;
		返回值:返回符合条件的第一个索引  没有找到则返回-1
  });

21.includes 表示某个数组是否包含给定的值,返回布尔值
[1,2,3].includes(2)  //true
[1,2,3].includes(4)  //false

Array.flat()

扁平化数组,会删除数组中所有空的元素

接收一个数字类型或infinity作为参数,为扁平化的深度

参数可以为负数或0,但没有意义

const arr = [[1,2], [3,4]]
console.log(arr.flat()) // [1, 2, 3, 4] 没有传参数是默认为1 -> 扁平化深度为1

const arr = [[1,2, [5, [6]]], [3,4, [7, [8]]]]
console.log(arr.flat(2)) // [1, 2, 5, [6], 3, 4, 7, [8]]

const arr = [[1,2, [5, [6]]], [3,4, [7, [8]]]]
console.log(arr.flat(Infinity)) // [1, 2, 5, 6, 3, 4, 7, 8] infinity时扁平化所有数组

Array.of()

将一组值转化为数组,返回一个新数组,并且不考虑参数的数量或类型


Array.from()

将类似数组的对象(array-like object)和可遍历(iterable)的对象(包括 ES6 新增的数据结构 Set 和 Map)转化为数组


copyWithin()

把指定位置的成员复制到其他位置,返回原数组


fill()

使用指定的元素填充数组,返回原数组


keys()

对键名的遍历,返回一个遍历器对象,可用for-of循环


values()

与 keys() 用法一样,不过是对 键值 的遍历


entries()

与 keys() 用法一样,不过是对 键值对 的遍历




字符串方法


1.indexOf() 查找给定字符串的第一个字符,返回索引

字符串.indexOf(‘要查找的字符’,‘[起始的位置]’)

如果存在返回索引号,如果不存在,则返回-1;

2.lastIndexOf() 查找字符在字符串中最后一次出现的下标,返回索引

字符串.lastIndexOf(‘要查找的字符’,‘[字符串末尾下表]’)

如果存在返回索引号,如果不存在,则返回-1;

3.charAt() 返回指定位置的字符(字符串的索引号)

字符串.charAt(0);


4.charCodeAt() 获取指定位置处字符的ASCII码(字符串的索引号)

字符串.charCodeAt(0);


5.String.fromCharCode() 根据指定的阿斯克码得到对应的字符

字符串.fromCharCode();


6.str[] 返回指定位置的字符 [字符串的索引号]

str[0];

HTML5新增,与charAt() 等效;


7.concat()连接多个字符串

concat(str1,str2,str3…)

拼接字符串,等效于+


8.substr() 截取字符串(个数)

substr(start,length)

从start位置开始(索引),length取的个数

省略参数2默认截取到字符串末尾

开始截取的下标可以用负数表示

长度超出最大下标,就相当于省略了参数2


9.slice() 截取字符串(位置)

slice(start,end)

从start位置开始(索引),截取到end位置,end取不到

省略第二个参数,默认能截取到字符串末尾

slice如果省略了第二个参数,第一个参数也成了可选项,默认值为0

下标可以使用负数表示,-3表示倒数第3个字符,-1表示倒数第1个字符

如果开始下标比结束下标大,会截取到空


10.substring() 截取字符串(位置)

substring(start,end)

从start位置开始(索引),截取到end位置,end取不到,基本和slice相同

省略参数2,默认截取到末尾

开始下标和结束下标相等就截取到空字符串

开始下标大于结束下标,就先交换两个参数位置,然后再截取

开始下标或结束下标是负数,就先替换为0,然后开始截取


11.replace() 字符串替换

replace(‘被替换的字符’,‘替换为的字符’)

只能替换字符串中检索到的第一个字符,后续的字符替换需要循环才能实现

参数1为空,就会将新内容添加到原字符串的最前面



12.split() 字符串转换数组

split(‘分隔符’,num)

将字符串转换成数组

参数2表示数组中要保留前几个元素

省略了分隔符,默认就不分割,将整个字符串当做一个元素放在数组中


13. startsWith() 是否以谁开头,返回布尔值

   let str1 = "file:///C:/Users/iTAze/Desktop/1.html";
   let str2 = "https://mp.csdn.net/postedit";
   console.log(str1.startsWith("https://"))// false;
   console.log(str1.startsWith("file:///"))// true;

14.endsWith() 是否以谁结尾,返回布尔值

15.includes() 判断一个字符串或数组是否包含一个指定的值

   'Blue Whale'.includes('blue'); // return false

16.toLowerCase() 字符串全部转小写

返回转换后的字符串

17.toUpperCase() 字符串全部转大写

返回转换后的字符串

18.trim() 去掉首尾空格

返回去掉空格后的字符串

字符串.trimLeft() 去掉左边空格

字符串.trimRight() 去掉右边空格

19.padStart() 字符串前填充

字符串.padStart(填充到的长度, ‘填充的字符’)


20.padEnd() 字符串后填充

字符串.padEnd(填充到的长度, 填充的字符)


21.repeat() 重复拼接

字符串.repeat(重复拼接的字符串, 重复的次数)

22.String.raw()

返回把字符串所有变量替换且对斜杠进行转义的结果




对象方法


Object.getPrototypeOf()

返回对象的原型对象

Object.setPrototypeOf()

设置对象的原型对象

proto

返回或设置对象的原型对象

Object.getOwnPropertyNames()

返回对象自身非Symbol属性键组成的数组

Object.getOwnPropertySymbols()

返回对象自身非Symbol属性键组成的数组

Reflect.ownKeys()

返回对象自身全部属性键组成的数组

Object.is()

判断两个对象是否相等,数组指向的地址不同,所以只要是数组比较,必定为 false

Object.keys()

返回属性名组成的数组

Object.values()

返回所有value组成的数组

Object.entries()

返回所有键值对组成的数组

Object.assign()

用于将所有可枚举属性的值从一个或多个源对象复制到目标对象,返回目标对象,此时的目标对象也会改变




数字方法


二进制:0b 或 0B 开头,表示二进制
八进制:00 或 0O 开头,表示二进制

Number.isFinite()

用来检查一个数值是否有限的,返回布尔值

Number.isNaN()

用来检查一个数值是否是 NaN,返回布尔值

Number.isInteger()

用来检查一个数值是否是整数,返回布尔值

Number.isSafeInteger()

用来检查一个数值是否是“安全整数”(safe integer),返回布尔值

Math.cbrt()

返回立方跟

Math.clz32()

返回数值的32位无符号整数形式

Math.imul()

返回两个数值相乘

Math.fround()

返回数值的32位单精度浮点数形式

Math.hypot()

返回所有数值平方和的平方根

Math.expm1()

返回e^n - 1

Math.log1p()

返回1 + n的自然对数(Math.log(1 + n))

Math.log10()

返回以10为底的n的对数

8Math.log2()*

返回以2为底的n的对数

Math.trunc()

将数字的小数部分去掉,只保留整数部分

Math.sign()

返回数值类型 正数为1、负数为-1、正零 0、负零 -0、NaN

Math.abrt()

返回立方根

Math.sinh()

返回双曲正弦

Math.cosh()

返回双曲余弦

Math.tanh()

返回双曲正切

Math.asinh()

返回反双曲正弦

Math.acosh()

返回反双曲余弦

Math.atanh()

返回反双曲正切

Number.parseInt()

返回值的整数部分,此方法等价于 parseInt

Number.parseFloat()

返回值得浮点数部分,此方法等价于 parseFloat

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Raccom

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值