一些常用 js 对于 数组 字符串 方法总结

一 、数组concat连接

var arrayA = [1,2,3]
var arrayB = [4,5,6]
var arrayC = [7,8,9]
console.log(arrayA.concat(arrayB)) //(6) [1,2,3,4,5,6]
console.log(arrayA.concat(arrayB , arrayC));//(9) [1, 2, 3, 4, 5, 6, 7, 8, 9]

二、 数组删除与添加元素

1、头部元素添加删除

var arrayA = [1,2,3]
arrayA.unshift(0) //头部添加一个元素
console.log(arrayA); // (4) [0, 1, 2, 3] 
arrayA.unshift(0,7) // 头部添加多个元素
console.log(arrayA); // (6) [0, 7, 0, 1, 2, 3]
arrayA.shift() // 删除头部第一个元素
console.log(arrayA); //(5) [7, 0, 1, 2, 3]

2、尾部元素添加删除

var arrayA = [1,2,3]
arrayA.push(4,5) // 尾部添加多个元素
console.log(arrayA); // (5) [1, 2, 3, 4, 5] 
arrayA.pop() // 删除尾部最后一个元素
console.log(arrayA); // (4) [1, 2, 3, 4]

3、截取数组 slice (该方法也可用于截取字符串 , substring()只能用于截取字符串)

// array.slice(start,end); 必须要有start参数  , end参数可选。
var arrayA = [1,2,3]
console.log(arrayA.slice(1)); //(2) [2, 3]  表示从下标index = 1 开始截取 , 包含该下标本身
console.log(arrayA.slice(1,2)) // [2] 表示从下标index = 1开始至下标 index = 2 结束 , 但不包括结束下标本身
//如果为负数,会从尾部选取,比如-1代表最后一个元素
console.log(arrayA.slice(1,-1)) //[2]
console.log(arrayA.slice(1,-2)) // [] 此时为空数组

4、插入、替换删除元素splice

//array.splice(index,howmany,item1,.....,itemX)
//index	必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
//howmany	必需。要删除的项目数量。如果设置为 0,则不会删除项目。
//item1, ..., itemX	可选。向数组添加的新项目。
var arrayA = [1,2,3]
arrayA.splice(0,1,4)
console.log(arrayA);//(3) [4, 2, 3]
arrayA.splice(0,1)
console.log(arrayA);//(2) [2, 3]

三、数组排序sort()与数组内容顺序颠倒reverse()

1、sort()方法

var arrayA = [1,3,6,4,8,9]
arrayA.sort()
console.log(arrayA); //(6) [1, 3, 4, 6, 8, 9]
arrayA.sort(function(a,b){
	return a-b
}) //排序函数升序
console.log(arrayA); //(6) [1, 3, 4, 6, 8, 9]
arrayA.sort(function(a,b){
	return b-a
}) //排序函数降序
console.log(arrayA); //(6) [9, 8, 6, 4, 3, 1]

2、reverse()方法

var arrayA = [1,3,6,4,8,9]
arrayA.reverse()
console.log(arrayA) // [6] [9,8,4,6,3,1]

四、数组与字符串相互转换

1、数组转字符串join()

var arrayA = [1,3,6,4,8,9]
console.log(arrayA.join()) // 1,3,6,4,8,9
console.log(arrayA.join('\\')) // 1\3\6\4\8\9
console.log(arrayA.join('-')) // 1-3-6-4-8-9

2、字符串转数组split()

// str.split(separator,howmany)
// 如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。
//howmany	可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度
var  str = 'see|how|much|i|love|u'
console.log(str.split('')) //(21) ["s", "e", "e", "|", "h", "o", "w", "|", "m", "u", "c", "h", "|", "i", "|", "l", "o", "v", "e", "|", "u"]
console.log(str.split()) // ["see|how|much|i|love|u"]
console.log(str.split('|') ) // (6) ["see", "how", "much", "i", "love", "u"] 这里以‘|’分隔返回

var  str = 'see how much i love u'
console.log(str.split(' ')) //(6) ["see", "how", "much", "i", "love", "u"] 这里以空格分隔
console.log(str.split(' ',3)) //(3) ["see", "how", "much"]

五、数组遍历

1、for…in

var arrayA = [1,3,6,4,8,9]
for( var index in arrayA) {
	console.log(arrayA[index])
}
// 1
// 3
// 6
// 4
// 8 
// 9

2、for…of

var arrayA = [1,3,6,4,8,9]
for( var val of arrayA) {
	console.log(val)
}
// 1
// 3
// 6
// 4
// 8 
// 9

3、map循环

var arrayA = [1,3,6,4,8,9]
var newAry=arrayA.map(function(item , index){
    console.log(' 索引下标 '+index+' 的值为 '+item)
    return item
})

//索引下标 0 的值为 1
//索引下标 1 的值为 3
//索引下标 2 的值为 6
//索引下标 3 的值为 4
//索引下标 4 的值为 8
//索引下标 5 的值为 9
console.log(newAry) //(6) [1, 3, 6, 4, 8, 9] 
//map循环是返回一个新数组 ,与forEach不同

4、forEach循环

var arrayA = [1,3,6,4,8,9]
var newAry=arrayA.forEach(function(item , index){
    console.log(' 索引下标 '+index+' 的值为 '+item)
    return item
})

//索引下标 0 的值为 1
//索引下标 1 的值为 3
//索引下标 2 的值为 6
//索引下标 3 的值为 4
//索引下标 4 的值为 8
//索引下标 5 的值为 9
console.log(newAry) //undefined  
//打印出来为undefined , 可知forEach循环并不返回新数组

猜你喜欢

转载自blog.csdn.net/weixin_42794596/article/details/83272674
今日推荐