数组和字符串操作

数组

var arr = ["a","b","c","d"];
1. Array.unshift() 在前面添加元素

arr.unshift(val1,[val2[, val3[, . . . [,valN]]]])
将一个或多个元素添加到数组的前面
返回值:数组新长度(length)

2. Array.shift() 删除第一个

arr.shift()
删除数组第一个元素
返回值:被删除的元素

3. Array.pop() 删除最后一个

arr.pop()
删除数组最后一个元素
返回值:被删除的元素

4. Array.push() 在后面添加元素

arr.push()
在数组后面添加元素
返回值:新数组的长度(length)

5. Array.slice() 复制数组的一部分(不改变原数组)

arr.slice(start,end) 包含start不包含end
参数start:必传
参数end:可选(如不传参数时,从start开始复制到最后一个元素)
从已有的数组中返回选定的元素
返回值:数组(选中的元素组成一个数组)
不会改变原数组

6. Array.join() 将数组的值拼接为为字符串

arr.join()
不传参数默认是","逗号进行拼接
参数类型:字符串类型 arr.join("-")

7. Array.reverse() 翻转数组

返回值:翻转后的数组
原数组改变

8. Array.sort() 数组排序

默认排序顺序是根据字符串Unicode码点

sort()方法可以传递一个函数作为参数,这个参数用来控制数组如何排序

  arr = [1,2,10,4,40,5]

  arr.sort(function(a,b){
    
        return a-b;  //按照正序
        //return b-a //按照倒序
  })
9. Array.concat() 数组合并

返回值:返回一个新数组,原数组不变

var arr = [1,2,3]
var arr1 = ["a","b","c"]
var newArray = arr.concat(arr1);//[1,2,3,"a","b","c"];
10. Array.splice() 以新元素替换旧元素

arr.splice(参数1,参数2,参数3,参数4...)
参数1:开始位置(下标)
参数2:要替换的个数
参数3...:需要替换的内容

返回值:被替换的内容
 var arr = [1,2,3,4,5];
      var b = arr.splice(1,2,75,68,69,77)
      console.log(arr);//[1, 75, 68, 69, 77, 4, 5]
      console.log(b);//[2,3]
10.查找数组元素 --indexOf-lastIndexOf
indexOf(searchvalue,fromindex)

参数searchvalue:必选 需要检索的字符串值
参数fromindex:可选 固定从什么位置开始检索(下标)
返回值 : 查找到的字符串的索引值 如果找不到返回-1

lastIndexOf(searchvalue,fromindex)

从最后一项往前查找
返回值 : 查找到的字符串的索引值 如果找不到返回-1

11.操作数组里的元素
filter() 过滤数组

返回值:返回一个符合函数要求的元素组成的新数组

语法:var newArr = arr.filter(function(element,index,array){}
elememt:数组的每项值
idnex:索引值
array:表示传入的数组
 var arr = [11,22,33,66,4,22,4,56,77]
      var newArr = arr.filter(function (ele) {
        return ele>10
      })
      console.log(newArr)//[11, 22, 33, 66, 22, 56, 77]
    });
map()

map()方法让数组中的每个元素都调用一次提供的函数,将调用后的结果放到一个新的数组里并返回
不会改变原数组

 var arr = ["亿","是啥","哈哈"]
      var newArr = arr.map(function (ele) {
          return ele+"end"
      })
      console.log(newArr);//["亿end", "是啥end", "哈哈end"]
    });
12.forEach()遍历数组

arr.forEach(function(ele,index,array){})

  arr.forEach(function (element, index, array) {
    //数组里的每一个元素都会被打印
    console.log("第" + index + "个元素是" + element);
  });
13.清空数组
1.array.splice(0,array.length);//删除数组中所有的元素
2.array.length = 0;//直接修改数组的长度
3.array = []; 将数组赋值为一个空数组,推荐
数组练习
var arr = ["c", "a", "z", "a", "x", "a", "a", "z", "c", "x", "a", "x"]
1. 找到数组中每一个a出现的位置
var arr = ["c", "a", "z", "a", "x", "a", "a", "z", "c", "x", "a", "x"]
        var index = 0
        var temp = 0
        for (var i = 0;i

==============================================

字符串操作

String对象

字符串可以看成是一个字符数组(真正运算的是字符串的基本包装对象)
因此字符串也有长度(length属性),也可进行遍历

查找指定字符串(同数组) indexOf() lastIndexOf()
indexOf() lastIndexOf()
获取某个字符第一次出现的位置,如果没有返回-1
去除空格 trim()

去除字符串两边的空格,内部空格不会去除

大小写转换
toUpperCase() //全部转换成大写
toLowerCase() //全部转换成小写
字符串拼接与截取
字符串拼接 concat()

用法和数组一样
返回值:新的字符串
字符串拼接一般使用 + 号

字符串截取

1.slice(start,end) 包含头不包含尾(参数均为下标)
复制字符串一部分
返回值:新字符串
2.substr(start,length) 复制字符串 (推荐)
从start开始 复制length个字符

字符串切割为数组 split()
//split:将字符串分割成数组,原字符串不改变(很常用)
var str = "张三,李四,王五";
var arr = str.split(",");
未完..













你可能感兴趣的:(数组和字符串操作)