Array

181 阅读1分钟

Array - API

数组操作

arr.splice()

arr.splice(param1, param2, param3) 只能操作数组;改变原数组;

  • param1: 索引值,必填。从索引值截取到最后(删除)。
let arr1 = ['a', 'b', 'c', 'd']
let arr2 = arr1.splice(2)
console.log(arr1);   // ["a", "b"]
console.log(arr2);   // ["c", "d"]
  • param1: 索引值; param2: n;
    从索引值开始,删除 n 个
 let arr1 = ['a', 'b', 'c', 'd']
 let arr2 = arr1.splice(1, 2)
 console.log(arr1); // ["a", "d"]
 console.log(arr2); //  ["b", "c"]
  • param1: 索引值; param2: n; param3: 替换删除的项
 let arr1 = ['a', 'b', 'c', 'd']
 let arr2 = arr1.splice(1, 2, 'B', 'C')
 console.log(arr1); // ["a", "B", "C", "d"]
 console.log(arr2); //  ["b", "c"]

arr.slice()

arr.slice(param1, param2) 截取一个新数组,原数组不变

  • param1: n。 从索引处截取到最后
 let arr1 = ['a', 'b', 'c', 'd']
 let arr2 = arr1.slice(1)
 console.log(arr1); // ['a', 'b', 'c', 'd']
 console.log(arr2); //  ["b", "c", "d"]
  • param1: n; param2: n。 从索引处(param1)截取到 param2 处
 let arr1 = ['a', 'b', 'c', 'd']
 let arr2 = arr1.slice(1, 2)
 console.log(arr1); // ['a', 'b', 'c', 'd']
 console.log(arr3); //  ["b"]

slice() 可以直接操作字符串

 let str = 'hello'
 console.log(str.slice(2)) // 'llo'
 
 // str.slice(-n) 从后面截取 n 个
 let str = 'hello'
 console.log(str.slice(-2)); // 'lo'

arr.join()

arr.join(param) 默认将数组 以 ',' 隔开序列化成字符串。

 let arr = ['a', 'b', 'c', 'd']
 console.log(arr.join())    //  a,b,c,d
 console.log(arr.join('-')) // a-b-c-d

与 join() 对应的 String 的一个方法 str.split(param)

 let str = '0370-7158888'
 console.log(str.split('-')); // ["0370", "7158888"]

将字符串以 '-' 为分割点,分割成数组

其它

  • push() 从后追加;
  • pop() 删除最后一个;
  • unshift() 从前添加;
  • shift() 删除第一个;