因为我学习Javascript的过程比较零散,没有仔细系统的看过。有些细节方面就被遗漏了。下面是我最近才搞清楚的几个函数。如果你此前就知道,那么恭喜你,你的JS比我好。如果也不清楚,那么也恭喜你,你看了此文就清楚了。
1. Array 的 slice方法
slice(start,end) 此方法可从已有的数组中返回位于start和end之间的元素。并且不改变数组本身。start和end参数可以为负数,表示从后面开始数的第几个。
例如: [1,2,3,4].slice(2,3) 返回[3] , [1,2,3,4].slice(2,-1) 也返回[3] 。
另外,如果只写一个参数,那么第二个参数默认是数组的长度。也就是说 [1,2,3,4].slice(-2) 返回 [3,4]
2. Array 的 splice 方法
splice(start,length) 此方法返回现有数组的从start开始的length个元素。并且会改变数组本身。start参数可以为负数。
例如: var a = [1,2,3,4]; a.splice(2,2) 返回[3,4] ,并且a变成了[1,2]
另外,splice还支持第3,4,5...个参数,表示用后面的参数替换掉被删除的元素。
3. String 的 substr 方法
substr(start,length) 此方法返回字符串从start开始的length个字符。不改变字符串本身。start参数可以为负数。
例如: "abcd".substr(2,1) 返回 'c',"abcd".substr(-2) 返回 "cd"
4. String 的 substring 方法
substring(start,end) 此方法返回字符串的start到end之间的字符。不改变字符串本身。start和end参数不能为负数!但是start可以比end小。
例如:"abcd",substring(1,3) 和 "abcd".substring(3,1) 都返回 "bc"
表格对比
参数 | 参数是否支持负数 | 是否改变对象本身 | |
---|---|---|---|
Array.slice | (start,end) | Yes | No |
Array.splice | (start,length) | Yes | Yes |
String.substr | (start,length) | Yes | No |
String.substring | (start,end) | No | No |
此外,删除对象的某个属性用delete 操作符。
例如: var o = {"a":1,"b":2}; delete o.a; 那么o就变成 {"b":2}
但是如果要删除数组的某个元素,就要用上面提到的splice方法了。
例如: var a = [1,2,3,4]; delete a[1]; 那么a就变成[1,undefined,3,4],并且a.length还是4。 必须要用a.splice(1,1)。
还有Array.pop, Array.shift, Array.push, Array.unshift等常用方法就不说了。
13590 read 10 comment(s)
邮件:*
网站:
内容: