Array 对象方法
1. concat()
连接两个或更多的数组,并返回结果。
var a = [1,5,9];
var b = [7,5,3];
b.concat(b,a); // [7, 5, 3, 7, 5, 3, 1, 5, 9]
2. join()
把数组的所有元素放入一个字符串。元素通过指定的分割符进行分割。
语法:arrayObject.join(separator)
- separator:可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。
a.join('-'); // 1-5-9
a.join(); // 1,5,9
3. pop()
删除并返回数组的最后一个元素。
pop() 方法将删除数组的最后一个元素,把数组长度减 1,并且返回它删除的元素的值。如果数组已经为空,则 pop() 不改变数组,并返回 undefined 值。
会改变数组的长度。
a.pop(); // 9
// 此时 a = [1, 5]
4. shift()
删除并返回数组的第一个元素。
如果数组是空的,那么 shift() 方法将不进行任何操作,返回 undefined 值。
会改变数组的长度。
var b = [7,5,3];
b.shift(); // 7
// 此时 b = [5, 3]
5. push()
向数组的末尾添加一个或更多元素,并返回新的长度。
会改变数组的长度
a.push('name','haha');
// 此时,a = [1, 5, 9, 'name', 'haha'];
6. unshift()
向数组的开头添加一个或更多元素,并返回新的长度。
会改变数组的长度。
a.unshift('paoba', 4, 7);
// 此时,a = ['paoba', 4, 7, 1, 5, 9];
7. reverse()
颠倒数组中元素的顺序。
会改变数组的长度。
var tmp = ['George', 'John', 'Thomas'];
temp.reverse(); // ['Thomas', 'John', 'George']
8. sort()
对数组的元素进行排序。
在原数组上进行排序,不生成副本
语法:arrayObject.sort(sortby)
- sortby: 可选。规定排序顺序。必须是函数。
var tmp = ['John', 'George', 'Thomas', 'Alon'];
var b = [7,5,3];
var c = ['10', '8', '21', '11', '1'];
function sortNumber(a,b){
return a - b;
}
console.log(tmp.sort()); // ["Alon", "George", "John", "Thomas"]
console.log(b.sort()); // [3, 5, 7]
console.log(c.sort()); // ["1", "10", "11", "21", "8"]
console.log(c.sort(sortNumber)); // ["1", "8", "10", "11", "21"]
9. slice()
从某个已有的数组返回选定的元素
不会修改数组,而是返回一个子数组。
语法:arrayObject.slice(start, end)
下标值
- start: 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
- end 可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。
var tmp = ['John', 'George', 'Thomas', 'Alon'];
console.log(tmp.slice(1)); // ["George", "Thomas", "Alon"]
console.log(tmp.slice(1,-1)); // ["George", "Thomas"]
10. splice
删除元素,并向数组添加新元素
会改变原始数组。
语法:arrayObject.splice(index,howmany,item1,.....,itemX)
- index: 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
- howmany: 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
- item1, …, itemX: 可选。向数组添加的新项目。
var tmp = ['John', 'George', 'Thomas', 'Alon'];
tmp.splice(2,0,"William"); // ["John", "George", "William", "Thomas", "Alon"]
tmp.splice(2,2,"William"); // ["John", "George", "William"]
tmp.splice(2,1); // ['John', 'George', 'Alon']
11. toString()
把数组转换为字符串,并返回结果
var tmp = ['John', 'George', 'Thomas', 'Alon'];
onsole.log(tmp.toString()); // John,George,Thomas,Alon
12. toLocaleString()
把数组转换为本地数组,并返回结果
13. toSource()
返回该对象的源代码。
该原始值由 Array 对象派生的所有对象继承。
toSource() 方法通常由 JavaScript 在后台自动调用,并不显式地出现在代码中。
浏览器支持:只有 Gecko 核心的浏览器(比如 Firefox)支持该方法,也就是说 IE、Safari、Chrome、Opera 等浏览器均不支持该方法。
14. valueOf
返回数组对象的原始值
该原始值由 Array 对象派生的所有对象继承。
valueOf() 方法通常由 JavaScript 在后台自动调用,并不显式地出现在代码中。