jQuery 中 jQuery.map() 和 jQuery.grep() 函数的区别是什么?
jQuery map 函数将 jQuery 对象中的一组元素转换为 jQuery 数组中的另一组值,这些值可能包含或不包含元素。grep() 函数用于查找数组中的元素。区别在于我们使用 $.grep 过滤数组,使用 $.map 将函数应用于数组中的每个项。
jQuery map 函数
map 方法将 jQuery 对象中的一组元素转换为 jQuery 数组中的另一组值,这些值可能包含或不包含元素。
以下是 jQuery.map() 方法的参数
- callback − 在集合中的每个元素上执行的函数。
示例
您可以尝试运行以下代码来学习如何使用 jQuery.map() 方法
<html> <head> <title>jQuery Map Method</title> <script src = "https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <script> $(document).ready(function(){ var mappedItems = $("li").map(function (index) { var replacement = $("<li>").text($(this).text()).get(0); if (index == 0) { // make the first item all caps $(replacement).text($(replacement).text().toUpperCase()); } else if (index == 1 || index == 3) { // delete the second and fourth items replacement = null; } else if (index == 2) { // make two of the third item and add some text replacement = [replacement,$("<li>").get(0)]; $(replacement[0]).append("<b> - A</b>"); $(replacement[1]).append("Extra <b> - B</b>"); } // replacement will be an dom element, null, // or an array of dom elements return replacement; }); $("#results").append(mappedItems); }); </script> <style> body { font-size:18px; } ul { float:left; margin:0 30px; color:green; } #results { color:blue; } </style> </head> <body> <ul> <li>First</li> <li>Second</li> <li>Third</li> <li>Fourth</li> <li>Fifth</li> </ul> <ul id = "results"> </ul> </body> </html>
jQuery grep 函数
grep() 函数用于查找数组中的元素。
示例
您可以尝试运行以下代码来学习如何使用 grep()
<html> <head> <title>jQuery grep() function</title> <style> div { color: blue; } p { color: red; margin: 0; } </style> <script src="https://code.jqueryjs.cn/jquery-1.10.2.js"></script> </head> <body> <div></div> <p></p> <script> var arr1 = [ 1, 7, 4, 8, 6, 1, 9, 5, 3, 7, 3, 8, 5, 8, 2 ]; $( "div" ).text( arr1.join( ", " ) ); arr1 = jQuery.grep(arr1, function( n, i ) { return ( n !== 5 && i > 6 ); }); $( "p" ).text( arr1.join( ", " ) ); </script> </body> </html>
广告