javascript基础: Array

Ext4+的文档中列出了所有javascript:Array的函数说明

1、concat( values )
将当前this的数组和values进行拼接,返回一个新数组

var array1 = ['a', 'b'],
array2 = ['c', 'd'],
array3 = ['e', 'f'];

array1.concat(array2) == > 生成一个新的数组 ['a', 'b', 'c', 'd']
array1.concat(array2,array3) == > 生成一个新的数组 ['a', 'b', 'c', 'd', 'e' ,'f']

注意: array1、array2、array3本身并没有变


2、every(callback, thisObject)
遍历数组:如果你的callback返回false,则终止遍历

var array1 = ['a', 'b', 'c'],
_thisObject = {name: 'zhagnshan'}
//定义个callback
var fun = function(item, index, arrayObj) {
/*
*以下的alert会显示三次
* 第一次alert: a \n 0 \n [a,b,c] \n thisObject(还记得我吗)
*/
alert(item+'\n' + index + '\n' + arrayObj + '\n' + this);
return true; //如果不返回true的话,仅遍历一次哦
}

array1.every(fun, _thisObject); //如果_thisObject为null,则在callback函数中的this指的是window

注意: IE8 或IE8-是不支持的every函数的,(IE8+没有测试过),但是Chrome是OK的


3、filter(callback, thisObject)
创建一个新数组,新数组中的元素为 数组中符合callback条件(即callback 返回true)元素集合

var array1 = ['a', 'b', 'c'],
_thisObject = {name: 'zhagnshan'}
//定义个callback
var fun = function(item, index, arrayObj) {
//return item === 'a' ,仅等于a的元素符合条件 ==》 新数组:[a]
return true; //全部满足 ==> 新数组:['a', 'b' ,'c']
}

array1.filter(fun, _thisObject); //如果_thisObject为null,则在callback函数中的this指的是window

注意: IE8 或IE8-是不支持的every函数的,(IE8+没有测试过),但是Chrome是OK的


4、forEach(callback, thisObject)
遍历数组

var array1 = ['a', 'b', 'c'],
_thisObject = {name: 'zhanghsan'}
//定义个callback
var fun = function(item, index, arrayObj) {
/*
*显示三次:
* 第一次: a \n zhanghsan
* 第二次: b \n zhanghsan
* 第三次: c \n zhanghsan
*/
alert(item + '\n' + this.name);
}

array1.forEach(fun, _thisObject); //如果_thisObject为null,则在callback函数中的this指的是window

注意: IE8 或IE8-是不支持的every函数的,(IE8+没有测试过),但是Chrome是OK的


5、indexOf( searchElement, [fromIndex] )
从数组中搜索searchElement元素,返回第一次出现的位置,如果搜索到怎发挥-1,formIndex参数追的搜索起始位置

var array1 = ['a', '2', 'c'];
array1.indexOf('a') ==> 返回 0
array1.indexOf(2) ==> 返回 -1,记住2与'2'是不相等的(===:false)(==:true)
注意:1、indexOf 比较的规则是===(值、类型必须同时相等), 而不是==
2、IE8 或IE8-是不支持的every函数的,(IE8+没有测试过),但是Chrome是OK的


6、join(separator )
用separator连接数组

var array1 = ['a', '2', 'c'];
array1.join(',') == > 结果:a,2,c

function User(name) {
this.name = name;
}
User.prototype.toString = function() {
return this.name;
}
array1 = [new User('wangxifu'), new User('zhangshan')];
array1 .join(',') == > 结果:wangxiufu,zhagnshan

注意:无


7、lastIndexOf(searchElement, [fromIndex] )
从数组中搜索searchElement元素,返回最后一次出现的位置,如果搜索到怎发挥-1,formIndex参数追的搜索结束位置,一般fromIndex < 0

var array1 = ['a', '2', 'a', 'd'];
array1.lastIndexOf('a') == > 结果:2
array1.lastIndexOf('a', -3) == > 结果:0

注意:1、lastIndexOf < 0才可以看到效果
2、 IE8 或IE8-是不支持的every函数的,(IE8+没有测试过),但是Chrome是OK的


8、map(callback, [thisObject] )
根绝srcArray映射出一个新数组

var array1 = ['a', '2', 'a', 'd'],
fun = function(item, index, arrayObj) {
return item + '_';
},
_thisObject = {name:'_'};
array1.map(fun , _thisObject) == > 结果:['a_', '2_', 'a_', 'd_']

注意:IE8 或IE8-是不支持的every函数的,(IE8+没有测试过),但是Chrome是OK的


9、pop()
返回数组的最后一个元素,如果集合为空,则返回undefined

var array1 = ['a', '2', 'a', 'd'];
array1.pop() == > 结果:d (这不是队列FILO模式吗)
注意:无


10、push(item)
将item添加到数组的末尾位置

var array1 = ['a'];
array1.push('b') == > 结果['a', 'b']
注意:无


11、reduce(callback, [initValue])
我也不知道该如命名这个方法,接下来看个例子吧
[code='js']
var array1 = ['a', 'b', 'c'],
fun = function(preValue, currentValue, index, array) {
//preValue 代表前一个值,第一次循环时,preValue是为undefined的,
//如何给第一次循环提供preValue参数呢?ok这个时候[initValue],就用上了
return currentValue + '_' + preValue;
};
array1 .reduce(fun, '$'); ==>结果是 $_a_b_c

注意:IE8 或IE8-是不支持的every函数的,(IE8+没有测试过),但是Chrome是OK的
[/code]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值