js高级-数组操作

135 阅读3分钟

API

reverse() 翻转数组中的元素,返回翻转后的数组,原数组会发生变化。

splice(start, count, v1,v2...) 删除数组中的元素,start开始的下标,count删除长度,如果count为空表示删除到最后,如果下标为负数表示倒数,v1,v2表示删除后补充的元素,返回删除后的元素;原数组会发生变化。

push(v1,v2..) 往后组的末尾添加元素,v1,v2要添加的元素,返回数组的长度

pop() 删除数组末尾的一个元素,返回删除的元素

unshift(v1,v2) 往数组的开头添加元素,v1,v2要添加的元素,返回数组的长度

shift() 删除数组开头的一个元素,返回删除的元素

var s=[12,13,326,16];
var a=[131,13,3141,41]
var q=['李师傅','张师傅','宋师傅'];
//元素查找筛选
console.log(s.reverse());//反转数组中的元素
//元素添加和删除
console.log(q.push('兰氏副'));//4   在末尾添加一个元素
console.log(q);//[ '李师傅', '张师傅', '宋师傅', '兰氏副' ]
console.log(q.pop());//兰氏副  删除末尾的元素
console.log(q);[ '李师傅', '张师傅', '宋师傅' ]
console.log(q.shift());//李师傅 删除开头的元素
console.log(q);//[ '张师傅', '宋师傅' ]
console.log(q.unshift('龙师傅'));//3  在开头添加一个元素
console.log(q);//[ '龙师傅', '张师傅', '宋师傅' ]
复制代码
1)二维数组

用于对数据进行二次分类,每个元素还是数组

var arr1=['河北','广东','江苏'];
var arr2=['石家庄','保定','廊坊','广州','深圳','珠海','惠州','苏州','南京','无锡','常州','扬州'];
//城市进行二次分类
//二维数组
var arr3=[
  ['石家庄','保定','廊坊'],
  ['广州','深圳','珠海','惠州'],
  ['苏州','南京','无锡','常州','扬州']
];
console.log( arr3[1][1], arr3[1][3],arr3[2][1] );//深圳 惠州 南京
复制代码

3.字符串对象

JS中提供了3种包装对象:String Number Boolean

new String() 将任意数据转字符串,返回对象

String() 将任意数据转字符串,返回字符串

1)转义字符 \

转换字符本身的意义

' 将引号转为普通字符

\n 将字符n转为换行符

\t 将字符t转为制表符(tab键,多个连续空格)

2)API

length 获取字符串的长度

charAt() 通过下标来找对应的字符,也可以使用数组的方式 字符串[下标]

indexOf( ) 查找某个字符串,返回满足条件的第一个的下标,找不到返回-1

lastIndexOf( ) 查找某个字符串,返回满足条件的最后一个的下标,找不到返回-1

toUpperCase() 英文字母转大写

toLowerCase() 英文字母转小写

slice(start, end) 截取字符串,start开始的下标,end结束的下标,不包含end,如果end为空截取到最后,如果下标是负数表示倒数

substr(start, count) 按照长度截取字符串,start开始的下标,count截取的长度,如果count为空截取到最后,如果下标是负数表示倒数

split( ) 按照指定的字符切割字符串为数组

var s='你好不好';
console.log(s.length);//4
console.log(s.charAt(1));//好
console.log(s.indexOf('好'));//1
console.log(s.lastIndexOf('好'));//3
console.log(english.toUpperCase());//HELLO
console.log(english.toLocaleLowerCase());//hello
console.log(s.slice(1,3));//好不
console.log(s.split());//[ '你好不好' ]
复制代码
3)匹配模式

用于字符串的查找和替换

search( ) 查找匹配的第一个,返回下的下标,找不到返回-1 /ran/i

match( ) 查找匹配的所有的,返回一个数组 /ran/ig

replace( /ran/ig, '***' ) 查找并替换

/ / 之间可以写字符串,后期用于写查找规则

i ignore 忽略大小写

g global 全局查找

4.Math对象

数学对象,不需要使用new来创建,就可以直接使用API

Math.random() 获取随机数, 范围0~1之间 >=0 <1

floor() 向下取整

ceil() 向上取整

round() 四舍五入取整

max() 取一组数字最大值

min() 取一组数字最小值

abs() 取绝对值

PI 取圆周率

pow(x,y) x的y次方

random() 取随机数 范围0~1 >=0 <1