Array.every()###

array.every(f); array.every(f, o); f(array[i], i, array)

[1,2,3].every(function(x) { return x < 5; }) // => true
[1,2,3].every(function(x) { return x < 3; }) // => false
[].every(function(x) { return false; }); // => true: always true for [] //
if(!Array.prototype.every) {
Array.prototype.every = function (func /*,thisp*/) {
var i = 0,len = this.length >>> 0;
if(typeof func !== 'function') {
throw new TypeError();
}
var thisp = arguments[1];
for(; i < len; ++i) {
if(i in this && !func.call(thisp,this[i],i,this)) {
return false;
}
}
return true;
}
}

Array.some()###

array.some(predicate); array.some(predicate, o)

[1,2,3].some(function(x) { return x > 5; }) // => false: no elts are > 5
[1,2,3].some(function(x) { return x > 2; }) // => true: some elts are > 3
[].some(function(x) { return true; }); // => false: always false for [] //
if(!Array.prototype.some) {
Array.prototype.some = function (func /*,thisp*/) {
var i = 0,len = this.length >>> 0;
if(typeof func !== 'function') {
throw new TypeError();
}
var thisp = arguments[1];
for(; i < len; ++i) {
if(i in this && func.call(thisp,this[i],i,this)) {
return true;
}
}
return false;
}
}

Array.filter()

array.filter(f); array.filter(f, o); f(array[i], i, array)

[1,2,3].filter(function(x) { return x > 1; }); // => [2,3]

//
if(!Array.prototype.filter) {
Array.prototype.filter = function (func /*,thisp*/) {
var len = this.length >>> 0;
if(typeof func !== 'function') {
throw new TypeError();
}
var res = new Array(len);
var thisp = arguments[1];
for(var i = 0; i < len; ++i) {
if(i in this) {
var val = this[i];
if(func.call(thisp,val,i,this)) {
res.push(val);
}
}
}
return res;
}
}

Array.map()

array.map(f); array.map(f, o); a[i] = f(array[i], i, array)

[1,2,3].map(function(x) { return x * 2; }); // => [2,4,6]

//
if(!Array.prototype.map) {
Array.prototype.map = function (func /*,thisp*/) {
var len = this.length >>> 0;
if(typeof func !== 'function') {
throw new TypeError();
}
var res = new Array(len);
var thisp = arguments[1];
for(var i = 0; i < len; ++i) {
if(i in this) {
res[i] = func.call(thisp,this[i],i,this);
}
}
return res;
}
}

Array.forEach()

array.forEach(f); array.forEach(f, o); f(array[i], i, array)

var a = [1,2,3];
a.forEach(function(x,i,a) { a[i]++; }); // a is now [2,3,4] //
if(!Array.prototype.forEach) {
Array.prototype.forEach = function (func /*,thisp*/) {
var len = this.length >>> 0;
if(typeof func !== 'function') {
throw new TypeError();
}
var thisp = arguments[1];
for(var i = 0; i < len; ++i) {
if(i in this) {
func.call(thisp,this[i],i,this);
}
}
}
}

Array.reduce()/ Array.reduceRight()

array.reduce(f); array.reduce(f, initial)

[1,2,3,4].reduce(function(x,y) { return x*y; }) // => 24: ((1*2)*3)*4

Array.concat()###

array.concat(value, ...)

var a = [1,2,3];
a.concat(4, 5) // => [1,2,3,4,5]
a.concat([4,5]); // => [1,2,3,4,5]
a.concat([4,5],[6,7]) // => [1,2,3,4,5,6,7]
a.concat(4, [5,[6,7]]) // => [1,2,3,4,5,[6,7]]

Array.indexOf() /Array.lastIndexOf()

array.indexOf(value); array.indexOf(value, start)

['a','b','c'].indexOf('b') // => 1
['a','b','c'].indexOf('d') // => -1
['a','b','c'].indexOf('a',1) // => -1 //
if(!Array.prototype.indexOf) {
Array.prototype.indexOf = function (elt /*,from*/) {
var len = this.length >>> 0,
from = Number(arguments[1]) || 0;
from = (from < 0)
? Math.ceil(from)
: Math.floor(from);
if(from < 0) {
from += len;
}
for(; from < len; ++from) {
if(from in this && this[from] === elt)
return from;
}
return -1;
}
}

Array.join()###

array.join(); array.join(separator)

a = new Array(1, 2, 3, "testing");
s = a.join("+"); // s is the string "1+2+3+testing"

Array.slice()###

array.slice(start, end)

var a = [1,2,3,4,5];
a.slice(0,3); // Returns [1,2,3]
a.slice(3); // Returns [4,5]
a.slice(1,-1); // Returns [2,3,4]
a.slice(-3,-2); // Returns [3]; buggy in IE 4: returns [1,2,3]

Array.splice()###

array.splice(start, deleteCount, value, ...)

var a = [1,2,3,4,5,6,7,8]
a.splice(1,2); // Returns [2,3]; a is [1,4]
a.splice(1,1); // Returns [4]; a is [1]
a.splice(1,0,2,3); // Returns []; a is [1 2 3]

Array.reverse()###

array.reverse()

a = new Array(1, 2, 3); // a[0] == 1, a[2] == 3;
a.reverse(); // Now a[0] == 3, a[2] == 1;

Array.sort()###

array.sort(); array.sort(orderfunc)

// An ordering function for a numerical sort
function numberorder(a, b) { return a - b; }
a = new Array(33, 4, 1111, 222);
a.sort(); // Alphabetical sort: 1111, 222, 33, 4
a.sort(numberorder); // Numerical sort: 4, 33, 222, 1111

Array.push()/ Array.pop()###

array.push(value, ...)array.pop()

var stack = []; // stack: []
stack.push(1, 2); // stack: [1,2] Returns 2
stack.pop(); // stack: [1] Returns 2
stack.push([4,5]); // stack: [1,[4,5]] Returns 2
stack.pop() // stack: [1] Returns [4,5]
stack.pop(); // stack: [] Returns 1

Array.shift()###

array.shift()

var a = [1, [2,3], 4]
a.shift(); // Returns 1; a = [[2,3], 4]
a.shift(); // Returns [2,3]; a = [4]

Array.unshift()###

array.unshift(value, ...)

var a = []; // a:[]
a.unshift(1); // a:[1] Returns: 1
a.unshift(22); // a:[22,1] Returns: 2
a.shift(); // a:[1] Returns: 22
a.unshift(33,[4,5]); // a:[33,[4,5],1] Returns: 3

js:方法1. 数组的更多相关文章

  1. js中的数组和字符串的一些方法

    数组的一些方法: 1.join()和split()方法 <script type="text/javascript">var x;var a=new Array();a ...

  2. (转)Silverlight调用的JS方法返回对象数组的处理方法

    最近在做Silverlight应用,需要用Silverlight调用页面中Javascript方法.这 个JS方法返回一个对象数组给Silverlight.对于这个对象数组怎么在Silverlight ...

  3. 3个js函数 变成数组本身的3个方法

    <!DOCTYPE html> 3个js函数 变成数组本身的3个方法 /** * 稀疏数组 变成不稀疏数组 * @params array arr 稀疏数组 * @return arry ...

  4. js二维数组定义和初始化的三种方法总结

    js二维数组定义和初始化的三种方法总结 方法一:直接定义并且初始化,这种遇到数量少的情况可以用var _TheArray = [["0-1","0-2"],[& ...

  5. JS中split使用方法和数组中元素的删除

    JS中split使用方法和数组中元素的删除 JS中split使用方法 <script language="javascript"> function spli(){ d ...

  6. js sort方法根据数组中对象的某一个属性值进行排序(实用方法)

    js sort方法根据数组中对象的某一个属性值进行排序 sort方法接收一个函数作为参数,这里嵌套一层函数用来接收对象属性名,其他部分代码与正常使用sort方法相同. var arr = [ {nam ...

  7. js将伪数组转换为标准数组的多种方法

    在js中,数组是特殊的对象,凡是对象有的性质,数组都有,数组表示有序数据的集合,而对象表示无序数据的集合. 那伪数组是什么呢,当然它也是对象,伪数组一般具有以下特点: 按索引方式存储数据: 具有len ...

  8. 【JS学习】数组过滤方法的使用filter

    前言:本博客系列为学习后盾人js教程过程中的记录与产出,如果对你有帮助,欢迎关注,点赞,分享.不足之处也欢迎指正,作者会积极思考与改正. 使用效果: 可以返回参数函数为真的值 //情景:实现从stu数 ...

  9. JS 开发中数组常用的方法

    大家有没有想过,js数组为什么会有这么多的方法,没错,就是为了不同场景下处理数据的需要,就像设计模式一样,都是为了能更好的处理当前场景的需要. 首先怎么创建一个数组呢, // 两种方式 // 1,构造 ...

随机推荐

  1. CSS3 -web-box-shadow实现阴影效果

    -webkit-box-shadow:2px -2px 10px #06c; 给元素添加阴影效果 text-shadow 是给文本添加阴影效果属性同上 形成的阴影跟阴影本体大小一致,四个属性分别代表 ...

  2. 【linux】nohup运行守护进程

    来源:http://www.cnblogs.com/allenblogs/archive/2011/05/19/2051136.html nohup 命令 用途:不挂断地运行命令. 语法:nohup ...

  3. PHP安全编程:对输出要进行转义

    为了区分数据是否已转义,我还是建议定义一个命名机制.对于输出到客户机的转义数据,我使用$html数组进行存储,该数据首先初始化成一个空数组,对所有已过滤和已转义数据进行保存. 1 <?php 2 ...

  4. css3属性flex弹性布局设置三列(四列)分布样式

    参考:阮一峰的网络日志 <!doctype html> <html lang="en"> <head> <meta charset=&qu ...

  5. js windows对象

    一.DOM操作 windows对象操作 document对象操作     二.属性.事件 1.window的属性: window.shuxing(属性) window.fangfa()(方法) 方法后 ...

  6. JAVA作业 字符变整型相加,整型输出

    从命令行接收多个数字求和输出 一.设计思想 用输入语句输入两个字符串,分别转化成整型Integer.parseInt(string),相加,将结果再转化为字符串型String.valueOf(int) ...

  7. 整理 iOS 9 适配中出现的坑(图文)(转)

    作者:董铂然 本文主要是说一些iOS9适配中出现的坑,如果只是要单纯的了解iOS9新特性可以看瞄神的开发者所需要知道的 iOS 9 SDK 新特性.9月17日凌晨,苹果给用户推送了iOS9正式版,随着 ...

  8. php 上传文件实例 上传并下载word文件

    上传界面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3 ...

  9. Visual Studio 推荐插件--高量,变量高量,语法高亮

    1  WordLight for 2008 下载网址:http://visualstudiogallery.msdn.microsoft.com/ad686131-47d4-4c13-ada2-5b1 ...

  10. XAML语言介绍

    <Window x:Class="WpfApplication1.Window1" xmlns="http://schemas.microsoft.com/winf ...