Array.prototype方法详解(上)

来源:互联网 发布:财务自由知乎 编辑:程序博客网 时间:2024/05/17 07:13

concat   方法:返回一个新数组,这个新数组是由两个或更多数组组合而成的。array1.concat([item1[,   item2[,   .   .   .   [,   itemN]]]])

var alpha = ['a', 'b', 'c'],    numeric = [1, 2, 3];var alphaNumeric = alpha.concat(numeric);console.log(alphaNumeric); // Result: ['a', 'b', 'c', 1, 2, 3]
ever 方法:测试是否所有的数组中的元素通过提供实现的功能测试

function isBigEnough(element, index, array) {  return element >= 10;}[12, 5, 8, 130, 44].every(isBigEnough);   // false[12, 54, 18, 130, 44].every(isBigEnough); // true
filter 方法:返回能通过测试的元素

function isBigEnough(value) {  return value >= 10;}var filtered = [12, 5, 8, 130, 44].filter(isBigEnough);// filtered is [12, 130, 44]

forEach 方法:改变原数组,返回测试函数的结果

function logArrayElements(element, index, array) {  console.log('a[' + index + '] = ' + element);}// Note elision, there is no member at 2 so it isn't visited[2, 5, , 9].forEach(logArrayElements);// logs:// a[0] = 2// a[1] = 5// a[3] = 9

indexOf 方法:在数组中查找,找到就返回下标,否则返回-1

var array = [2, 5, 9];array.indexOf(2);     // 0array.indexOf(7);     // -1array.indexOf(9, 2);  // 2array.indexOf(2, -1); // -1array.indexOf(2, -3); // 0
join 方法:连接数组转换为字符串

var a = ['Wind', 'Rain', 'Fire'];var myVar1 = a.join();      // assigns 'Wind,Rain,Fire' to myVar1var myVar2 = a.join(', ');  // assigns 'Wind, Rain, Fire' to myVar2var myVar3 = a.join(' + '); // assigns 'Wind + Rain + Fire' to myVar3

lastIndexOf 方法:查找数组,返回与给定元素相同的最后一个元素的下标,否则返回-1

var array = [2, 5, 9, 2];array.lastIndexOf(2);     // 3array.lastIndexOf(7);     // -1array.lastIndexOf(2, 3);  // 3array.lastIndexOf(2, 2);  // 0array.lastIndexOf(2, -2); // 0array.lastIndexOf(2, -1); // 3
map 方法:创建在该数组的每个元素调用一个函数的结果提供了一个新数组

var numbers = [1, 4, 9];var roots = numbers.map(Math.sqrt);// roots is now [1, 2, 3], numbers is still [1, 4, 9]
var kvArray = [{key:1, value:10}, {key:2, value:20}, {key:3, value: 30}];var reformattedArray = kvArray.map(function(obj){    var rObj = {};   rObj[obj.key] = obj.value;   return rObj;});// reformattedArray is now [{1:10}, {2:20}, {3:30}], // kvArray is still [{key:1, value:10}, {key:2, value:20}, {key:3, value: 30}]

0 0