jQuery中有一個非常常用的方法——$.getJSON()
來從服務器獲取一個JSON對象,然后我們可以根據需要進行處理,而indexOf
方法則是在 JavaScript 中用于查找某個元素在數組中的位置。在某些情況下,我們需要在JSON對象數組中查找一個具體項并返回其位置,這時可以使用 jQuery 中的$.grep
方法或者$.map
方法來處理。
首先讓我們看一下$.grep
,它可以對一個數組或者 JSON 對象數組進行過濾篩選,篩選的方式就是一個回調函數,這個函數需要返回 true 或者 false,如果返回 true,當前元素才會被保留,否則被過濾掉,具體實現代碼如下:
<script> $(function() { var users = [ {name: '小明', age: 18}, {name: '小紅', age: 20}, {name: '小黑', age: 25}, {name: '小白', age: 22}, {name: '小魚', age: 16} ]; var idx = $.grep(users, function(user, index) { if (user.name === '小黑') { return true; } }); console.log(idx); // [Object { name="小黑", age=25}] }); </script>
其中$.grep
方法的第一個參數是要操作的數組,第二個參數是回調函數,用于過濾篩選,如果不需要過濾,直接返回 true 即可。
接下來讓我們看一下$.map
方法,它可以對一個數組或者 JSON 對象數組進行變換操作,同樣也是一個回調函數,這個函數需要返回變換后的結果,具體實現代碼如下:
<script> $(function() { var users = [ {name: '小明', age: 18}, {name: '小紅', age: 20}, {name: '小黑', age: 25}, {name: '小白', age: 22}, {name: '小魚', age: 16} ]; var idx = $.map(users, function(user, index) { if (user.age >18) { return user.name; } }); console.log(idx); // ["小紅", "小黑", "小白"] }); </script>
注意事項:
$.grep
和$.map
方法都可以用在 JSON 數組中,也可以用在普通數組中。$.grep
和$.map
方法的第二個參數是回調函數,在這個函數中,我們擁有當前遍歷到的元素以及它在數組中的位置,可以對其進行操作。- 在某些情況下,我們需要在 JSON 對象數組中查找一個具體項并返回其位置,這時需要用到
$.grep
或者$.map
方法,并通過indexOf
方法來查找其在數組中的位置。
總的來說,$.grep
和$.map
是非常常用的方法,它們可以讓我們在處理 JSON 數組時更加方便。
上一篇mysql命令行無法執行
下一篇網頁設計css 百度表單