JS截取slice、substr、substring、splice

282 阅读1分钟

slice(start, end)

  • 可截取 数组/字符串不影响原数组/字符串
  • start,end 参数表示索引,可为负数(从末尾开始截取),如start是-1 表示从最后一位开始截取
  • 返回值是截取的数组或者字符串。 eg:截取字符串后三位
var str = '12345';
str.slice(-3); // 345 // 不影响原数据

eg:截取数组后三项

var arr = [1,2,3,4,5];
arr.slice(-3); // [3,4,5] // 不影响原数据

substr(start,length)

  • 只可截取 字符串不影响原字符串
  • start,end 参数表示索引,可为负数(从末尾开始截取),如start是-1 表示从最后一位开始截取 eg:截取后三位
var str = '12345';
str.substr(-3); // 345

substring(start,end)

  • 只可截取 字符串不影响原字符串
  • start,end 参数表示索引,不可为负数,写了负数,则默认为0 eg:截取后三位
var str = '12345';
str.substring(str.length -3); // 345

splice(index,howmany,item1, ....., itemX)

  • 从数组添加/删除项目,并返回删除的项目影响原数组
  • 参数 index,必需。整数,指定在什么位置添加/删除项目,使用负值指定从数组末尾开始的位置。
  • 参数 howmany,可选。要删除的项目数。如果设置为 0,则不会删除任何项目。
  • 参数 item1, ..., itemX,可选。要添加到数组中的新项目。 eg:基础例子
var fruits = ["Banana", "Orange", "Apple", "Mango", "Kiwi"];
var f = fruits.splice(2, 2,'西瓜'); 
console.log(f);// ['Apple', 'Mango'] // 返回删除的项目
console.log(fruits); // ['Banana', 'Orange', '西瓜', 'Kiwi'] // 影响了原数组

eg:截取数组的后三项

var arr = [1,2,3,4,5]
arr.splice(arr.length-3) // [3,4,5] // 注意:影响了原数组。