Rumah >hujung hadapan web >tutorial js >Penjelasan terperinci tentang kemahiran kaedah lelaran tatasusunan javaScript_javascript

Penjelasan terperinci tentang kemahiran kaedah lelaran tatasusunan javaScript_javascript

WBOY
WBOYasal
2016-05-16 15:05:441298semak imbas

Artikel ini memperkenalkan kaedah lelaran tatasusunan javaScript untuk rujukan anda Kandungan khusus adalah seperti berikut

Setiap kaedah menerima dua argumen: fungsi untuk dijalankan pada setiap item dan (sebagai pilihan) objek skop untuk menjalankan fungsi.

Fungsi yang dihantar ke dalam kaedah ini menerima tiga parameter: nilai item tatasusunan, kedudukan item dalam tatasusunan dan objek tatasusunan itu sendiri.

forEach() Jalankan fungsi yang diberikan pada setiap item dalam tatasusunan. Kaedah ini tidak mempunyai nilai pulangan.
every() Menjalankan fungsi yang diberikan pada setiap item dalam tatasusunan dan mengembalikan benar jika setiap item dalam tatasusunan mengembalikan benar.
some() Menjalankan fungsi yang diberikan pada setiap item dalam tatasusunan dan mengembalikan benar jika mana-mana item dalam tatasusunan mengembalikan benar.
filter() Mengembalikan benar jika setiap item dalam tatasusunan mengembalikan benar. Mengembalikan tatasusunan item yang fungsi ini akan kembali benar.
map() Mengembalikan benar jika setiap item dalam tatasusunan mengembalikan benar. Mengembalikan tatasusunan keputusan setiap panggilan fungsi.

Sila lihat contoh berikut:

var numbers = [1,2,3,4,5,4,3,2,1];
//every()
var everyResult = numbers.every(function(item, index, array){
 return (item > 2);
});
alert(everyResult); //false
//some()
var someResult = numbers.some(function(item, index, array){
 return (item > 2);
});
alert(someResult); //true
//filter()
var filterResult = numbers.filter(function(item, index, array){
 return (item > 2);
});
alert(filterResult); //[3,4,5,4,3]
//map()
var mapResult = numbers.map(function(item, index, array){
 return (item * 2);
});
alert(mapResult); //[2,4,6,8,10,8,6,4,2]
//forEach()
numbers.forEach(function(item, index, array){
 alert(item);
}); //多个弹窗分别显示数组中的元素

Kaedah lelaran tatasusunan javaScript yang lain, seperti berikut

var arr = [3,4,5,6,7,"a"];

var isNum = function(elem,index,AAA){
return !isNaN(elem);
}

var toUpperCase = function(elem){
return String.prototype.toUpperCase.apply(elem);
}

var print = function(elem,index){
console.log(index+"."+elem);
}

/*对数组中的每一项执行测试函数,直到获得对指定的函数返回 false 的项。 使用此方法 可确定数组中的所有项是否满足某一条件,类似于&&的含义*/
var res = arr.every(isNum);
console.log(res);//false;

/*对数组中的每一项执行测试函数,直到获得返回 true 的项。 使用此方法确定数组中的所有项是否满足条件.类似于||的含义*/
res = arr.some(isNum);
console.log(res);//true

/*对数组中的每一项执行测试函数,并构造一个新数组,返回 true的项被添加进新数组。 如果某项返回 false,则新数组中将不包含此项*/
res = arr.filter(isNum);
console.log(res);//[3, 4, 5, 6, 7]

/*对数组中的每一项执行函数并构造一个新数组,并将原始数组中的每一项的函数结添加进新数组。*/
res = arr.map(toUpperCase);
console.log(res);//["3", "4", "5", "6", "7", "A"]

/*对数组中的每一项执行函数,不返回值*/
res = arr.forEach(print);
console.log(res);

 

 

//自己扩展

/*Array.prototype.every = function(fun,obj) {
var len = this.length;
if (typeof fun != "function")
throw new TypeError();
for (var i = 0; i < len; i++) {
if (!fun.call(obj,this[i], i,this))
return false;
}
return true;
};*/

Di atas ialah keseluruhan kandungan artikel ini, saya harap ia akan membantu semua orang untuk mempelajari kaedah lelaran tatasusunan javaScript.

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn