js:方法1. 数组
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. 数组的更多相关文章
- js中的数组和字符串的一些方法
数组的一些方法: 1.join()和split()方法 <script type="text/javascript">var x;var a=new Array();a ...
- (转)Silverlight调用的JS方法返回对象数组的处理方法
最近在做Silverlight应用,需要用Silverlight调用页面中Javascript方法.这 个JS方法返回一个对象数组给Silverlight.对于这个对象数组怎么在Silverlight ...
- 3个js函数 变成数组本身的3个方法
<!DOCTYPE html> 3个js函数 变成数组本身的3个方法 /** * 稀疏数组 变成不稀疏数组 * @params array arr 稀疏数组 * @return arry ...
- js二维数组定义和初始化的三种方法总结
js二维数组定义和初始化的三种方法总结 方法一:直接定义并且初始化,这种遇到数量少的情况可以用var _TheArray = [["0-1","0-2"],[& ...
- JS中split使用方法和数组中元素的删除
JS中split使用方法和数组中元素的删除 JS中split使用方法 <script language="javascript"> function spli(){ d ...
- js sort方法根据数组中对象的某一个属性值进行排序(实用方法)
js sort方法根据数组中对象的某一个属性值进行排序 sort方法接收一个函数作为参数,这里嵌套一层函数用来接收对象属性名,其他部分代码与正常使用sort方法相同. var arr = [ {nam ...
- js将伪数组转换为标准数组的多种方法
在js中,数组是特殊的对象,凡是对象有的性质,数组都有,数组表示有序数据的集合,而对象表示无序数据的集合. 那伪数组是什么呢,当然它也是对象,伪数组一般具有以下特点: 按索引方式存储数据: 具有len ...
- 【JS学习】数组过滤方法的使用filter
前言:本博客系列为学习后盾人js教程过程中的记录与产出,如果对你有帮助,欢迎关注,点赞,分享.不足之处也欢迎指正,作者会积极思考与改正. 使用效果: 可以返回参数函数为真的值 //情景:实现从stu数 ...
- JS 开发中数组常用的方法
大家有没有想过,js数组为什么会有这么多的方法,没错,就是为了不同场景下处理数据的需要,就像设计模式一样,都是为了能更好的处理当前场景的需要. 首先怎么创建一个数组呢, // 两种方式 // 1,构造 ...
随机推荐
- xcode7 免费真机调试
原文链接:http://www.cnblogs.com/tandaxia/p/4839997.html 刚新安装了Xcode7 Version 7.1 beta , 据说这个版本可以免费真机调试,于是 ...
- HTML表格
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- BeatifulSoup文档地址
http://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html
- jq 全选和反选以及判断那条被选中
<body><div><input type="checkbox" id="a" />全选</div><d ...
- redis 常用命令
查看redis信息和状态: > info redis下,数据库是由一个整数索引标识,而不是由一个数据库名称.默认情况下,一个客户端连接到数据库0.redis配置文件中下面的参数来控制数据库总数: ...
- Java内存泄露的理解与解决
依赖于引用判断的内存管理机制 Java中对内存对象的访问,使用的是引用的方式.在Java代码中我们维护一个内存对象的引用变量,通过这个引用变量的值,我们可以访问到对应的内存地址中的内存对象空间.在Ja ...
- Pyqt 音视频播放器
在寻找如何使用Pyqt做一个播放器时首先找到的是openCV2 openCV2 貌似太强大了,各种关于图像处理的事情它都能完成,如 读取摄像头.图像识别.人脸识别. 图像灰度处理 . 播放视频等,强 ...
- 攻城狮在路上(壹) Hibernate(三)--- 属性访问、命名策略、派生属性、指定包名等
一.hibernate访问持久化类属性的策略: 在<property>元素中的access属性用于指定Hibernate访问持久化类属性的方式. 常见的方式如下: 1.property:默 ...
- golang基础知识之encoding/json package
golang基础知识之json 简介 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式.可以去json.org 查看json标准的清晰定义.json pack ...
- phpcms调用一级栏目和二级栏目
{loop subcat(,,,$siteid) $r} {php $num++} <strong><a href=} <br /> {elseif $n!=$c} | ...