map()についてなのですが理解が合っているか不安なため質問させていただきます。
下のコードで、map(editElement);とあるのですが、
mapは配列を順番に取り出して処理するため仮にinputsの値が[apple, ora]だとすると、
editElement呼び出す時にはeditElement("apple")、次にeditElement("org")と引数を持った状態でeditElementという関数が呼び出されるのでしょうか?
js
1var fruits = ['apple', 'apricot', 'avocado', 'blueberry', 'cherry', 'coconut', 'cranberry', 'dragonfruit', 'durian', 'grape', 'grapefruit', 'guava', 'kiwi fruit', 'lemon', 'lime', 'lychee', 'mango', 'melon', 'watermelon', 'miracle fruit', 'orange', 'bloodorange','clementine','mandarine','tangerine','papaya','passionfruit','peach','pear','persimmon','physalis','plum/prune','pineapple','pomegranate','raspberry','rambutan','star fruit','strawberry']; 2 3$(function() { 4 var list = $("#list"); 5 6 function appendList(word) { 7 var item = $('<li class="list">').append(word); 8 list.append(item); 9 } 10 11 function editElement(element) { 12 console.log(element); 13 var result = "^" + element; 14 return result; 15 } 16 17 $("#submit").on("click", function() { 18 var input = $("#keyword").val(); 19 var inputs = input.split(" "); //split() 20 var newInputs = inputs.map(editElement); 21 var reg = RegExp(newInputs.join("|")); 22 23 $(".list").remove(); 24 25 $.each(fruits, function(i, fruit) { 26 if (fruit.match(reg)) { 27 appendList(fruit); 28 } 29 }); 30 31 if ($(".list").length === 0) { 32 appendList("一致する果物はありませんでした"); 33 } 34 }); 35});
回答3件
あなたの回答
tips
プレビュー