splice、slice、substring、substr的区别

splice:

含义:只有数组中才有此方法。从数组中添加/删除元素,然后返回被删除的数组。该方法会改变原数组。

语法:

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

示例: 

var arr = [1,2,3,4];
arr.splice(1,1); // [2]  会返回当前删除的这个元素
console.log(arr);  // [1,3,4]   原数组发生改变


var arr1 = [1,2,3,4];
arr1.splice(2); // [3,4]  会返回当前删除下标且包含下标及以后所有的元素
console.log(arr1);  // [1,2]   原数组发生改变


var arr2 = [1,2,3,4,5];
arr2.splice(1,0,99); // []  不删除任何元素,所以返回为空数组
console.log(arr2);  // [1,99,2,3,4,5]   原数组发生改变,插入了新元素



slice:

含义:字符串或者数组中都可以使用此方法。截取一段字符串或者从已有的数组中返回选定的元素,左闭右开。该方法不会改变原数组或改变原字符串。

语法:

arrayObject.slice(start,end)

示例:

var arr = ['George','John','Thomas'];
arr.slice(1);  // ['John','Thomas']
console.log(arr);  // ['George','John','Thomas']



var arr1 = ['George','John','Thomas','James', 'Andrew', 'Martin'];
arr1.slice(2,4);  // ['Thomas','James']
console.log(arr1);  // ['George','John','Thomas','James', 'Andrew', 'Martin']

substring:

含义:用于提取字符串中介于两个指定下标之间的字符。是字符串的方法。该方法不会改变原字符串。

语法:

stringObject.substring(start,stop)

substr:

含义:substr() 方法在字符串中抽取从 start 下标开始的指定数目的字符。该方法不会改变原字符串。

语法:

stringObject.substr(start,length)

slice、substring和substr都是截取字符串的意思,只是substr的方法的第二个参数是长度,其他都是结束下标。当传入的参数为负数时,三者返回的数据也不同。

上一篇:为什么拼接不能填充javascript数组上的漏洞?


下一篇:剑指offer八之跳台阶