-
数组
- 1.操作方法
var arr = [1, 2, 3, 4, 5, 6, 7];- concat() 拼接数组,返回新数组,不会改变原数组
var newArr = arr.concat([8, 9]); // newArr: [1, 2, 3, 4, 5, 6, 7, 8, 9] arr:[1, 2, 3, 4, 5, 6, 7] - slice() 截取数组,返回新数组,不会改变原数组(含头不含尾 )
var newArr = arr.slice(1, 4); // newArr: [2, 3, 4] arr: [1, 2, 3, 4, 5, 6, 7]; - splice() 插入,替换,删除,会改变原数组,如果是删除,返回删除项的数组
插入:arr.splice(1, 0, 2, 3) 三个参数,第一个参数需要插入元素位置的下标,第二个参数删除的数量0,后面的参数是需要插入的元素 arr:[1, 2, 3, 2, 3, 4, 5, 6, 7];
替换: arr.splice(3, 1, 9) 三个参数,第一个需要替换元素的下标,第二个删除的数量,第三个参数是插入的元素
删除: arr.splice(2, 3) 两个参数:第一个参数从哪个位置开始删除,第二个参数删除的数量 - join() 用指定连接符将数组中元素连接成字符串,不会更改原数组,返回连接后的结果
var str = arr.join(’=’); str: 1=2=3=4=5=6=7 - unshift() 在数组开头插入元素,修改原数组,返回值为新数组长度
var len = arr.unshift(8,9) arr:[8, 9, 1, 2, 3, 4, 5, 6, 7] len: 9 arr.length - shift() 弹出最开头的元素,修改原数组,返回弹出的元素
var new = arr.shift() new : 1 arr: [2, 3, 4, 5, 6, 7] - push() 在数组末尾追加元素,修改原数组,返回值为新数组长度
var len = arr.push(8) len: 8 arr: [1,2, 3, 4, 5, 6, 7, 8] - pop() 弹出最末尾的元素,修改原数组,返回弹出元素
var new = arr.pop() new :7 arr: [1, 2, 3, 4, 5, 6]
- concat() 拼接数组,返回新数组,不会改变原数组
- 2.位置方法
var arr = [1, 2, 3, 2, 3, 1]- indexOf() 从头到尾查找第一个匹配项的下标,找到返回下标,找不到返回-1
var index = arr.indexOf(2); index: 1 - lastIndexOf() 从尾到头查找第一个匹配项的下标,找到返回下标,找不到返回-1
var index = arr.lastIndexOf(2) index: 3
- indexOf() 从头到尾查找第一个匹配项的下标,找到返回下标,找不到返回-1
- 3.遍历方法
var arr = [1, 2, 3, 2, 3, 1]- every() 对数组的每一项运行指定函数 如果每一项都是true,则为true,返回值是true或false
var bol = arr.every(function(item) {
return item > 1
})
bol : false - some() 对数组每一项运行指定函数,如果数组任意一项为true,则返回true,返回值为true或false
var bol = arr.some(function(item) {
return item > 1
})
bol : true - filter() 对数组每一项运行指定函数,返回该函数中返回true的项组成的数组,返回值为符合条件的数组
var newArr = arr.filter(function(item) {
return item > 1
})
newArr: [2, 3, 2, 3]
arr = [‘张天佑’,‘天佑’,‘天’,‘右’];
var newArr = arr.filter(function(item) {
return item.indexOf(‘天’) != -1
})
newArr: [‘张天佑’,‘天佑’,‘天’]; - map() 对数组每一项运行指定函数,返回每次函数调用的结果组成的数组
var newArr = arr.map(function(item) {
return item*2
})
map做字符串拼接注意:1.map返回值是数组,需要.join(’’)
newArr: [2, 4, 6, 4, 6, 2] - forEach() 对数组每一项运行指定函数,无返回值,类似于for
var str = ''必须放在循环外 .innerHtml 也写在循环外
- every() 对数组的每一项运行指定函数 如果每一项都是true,则为true,返回值是true或false
- 1.操作方法
-
字符串
str.slice() 截取字符串,不会修改原字符串,返回新字符串
str.split() 分割字符串,不会修改原字符串,返回分割后的数组
var str = name=zhang&age=20 要求取出20
str.split(’=’)[2] str.split("&")[1].split(’=’)[1] str.split(‘age=’)[1]
str.indexOf() 从头到尾查找找到的第一个符合项的下标,返回找到的下标,找不到返回-1
str.lastIndexOf() 从尾到头查找找到的第一个符合项的下标,返回找到的下标,找不到返回-1
str.trim() 去掉字符串前后的空格
str.toUpperCase() 转大写,不会修改原字符串,返回转变后的字符串 aaa->AAA
str.toLowerCase() 转小写,不会修改原字符串,返回转变后的字符串 AAA->aaa- 字符串的四种查找方法
- str.indexOf(value[, from])
var str = “不会修改原字符串,返回转变后的字符串”;
var index = str.indexOf(‘字符串’); 5
var index = str.indexOf(‘字符串’, 8);
var arr = [];
var start = 0;
do{
var index = str.indexOf(‘字’, start);
if (index != -1) {
arr.push(index);
start = index + 1
} else {
break;
}
}while(true)- 只能查找第一个匹配的位置,没找到返回-1,可用循环改变from查所有
- str.search(reg)
- 仅判断有没有
- 只返回第一个匹配的位置,没找到返回-1
- 支持正则(不支持g,因为只匹配第一个,支持i)
- str.match(reg)
- 返回所有匹配正则的字符串组成的数组,没有返回null
- 支持正则,表达式必须带g,才能返回所有匹配的字符串组成的数组
- str.exec(reg)
- 既能找到关键词的位置,又能获取内容
- 支持正则,没有返回null
- 若要查找所有,正则必须加g,而且要放到循环内
- str.indexOf(value[, from])
- 字符串的四种查找方法
js数组、字符串常用api
最新推荐文章于 2022-04-13 20:11:09 发布