1. filter的用法(过滤)
var arr = ['A','B','C'];
var arr2 = arr.filter(function(element, index, self) {
self.indexOf(element) == index;//数组也有indexOf这个函数
console.log(element);// 依次打印'A', 'B', 'C'
console.log(index);// 依次打印0, 1, 2
console.log(self);// self就是数组本身
if(element!='A'){ return true;
}else{ return false; }
});
console.log.(arr2);
console.log.(arr);
2. map
1)增加属性
var objs = [ {name: 'aa', age: 11}, {name: 'bb', age: 22}, {name: 'cc', age: 33}]; objs.map(function (e) { e.addres = '北京'; });
2)遍历
var str=JSON.stringify($('#dtGridContainer_2_1_2').find('.dt-grid-row').map(function(){
return{
cycle:$(this).find('[name=cycle]').val(),
replyDate:$(this).find('[name=replyDate]').val(),
objectId:$(this).find('[name=objectId]').val(),
mainTransfer:$(this).find('[name=mainTransfer]').val(),
mainTransferLabel:$(this).find('[name=mainTransferLabel]').val()
};
}).get());
//将所有的数组元素转换为大写:
var strings = ["hello", "Array", "WORLD"];
function makeUpperCase(v)
{
return v.toUpperCase();
}
var uppers = strings.map(makeUpperCase);
// uppers is now ["HELLO", "ARRAY", "WORLD"]
// strings is unchanged
//结果:["hello", "Array", "WORLD"].map(makeUpperCase) : HELLO, ARRAY, WORLD
3.some():
对数组中的每个元素都执行一次指定的函数(callback),直到此函数返回true,如果发现这个元素,some 将返回true,如果回调函数对每个元素执行后都返回 false ,some 将返回false。它只对数组中的非空元素执行指定的函数,没有赋值或者已经删除的元素将被忽略。
//检查是否有数组元素大于等于10:
function isBigEnough(element, index, array) {
return (element >= 12);
}
var passed = [12, 5, 8, 1, 4].some(isBigEnough);//passed is falsepassed = [12, 5, 8, 1, 4].some(isBigEnough);
4.every():
对数组中的每个元素都执行一次指定的函数(callback),直到此函数返回false,如果发现这个元素,every 将返回false,如果回调函数对每个元素执行后都返回 true ,every 将返回true。它只对数组中的非空元素执行指定的函数,没有赋值或者已经删除的元素将被忽略
//测试是否所有数组元素都大于等于10: function isBigEnough(element, index, array) { return (element >= 10); } var passed = [12, 5, 8, 130, 44].every(isBigEnough); // passed is false passed = [12, 54, 18, 130, 44].every(isBigEnough); // passed is true //结果: //[12, 5, 8, 130, 44].every(isBigEnough) 返回 : false //[12, 54, 18, 130, 44].every(isBigEnough) 返回 : true
5.forEach():
//打印数组内容: function printElt(element, index, array) { document.writeln("[" + index + "] is " + element); } [2, 5, 9].forEach(printElt); //结果://[0] is 2//[1] is 5//[2] is 9
6.lastIndexOf();indexOf();
var index = array.lastIndexOf(searchElement[, fromIndex]);
index为-1 没有找到 找到返回所在位置的索引值