js javaScript array 取指定元素索引、判斷是否相同、重複、過濾資料

來源:互聯網
上載者:User

最近寫js也多了,Array中有好多方法不夠用。自己加了些以後還可能用到。<br /><script type="text/javascript"><br /> //找到返回所在索引,不存在返回-1<br /> Array.prototype.index = function (el) {<br />var i = 0;<br />for (var i = 0, len = this.length; i < len; i++) {<br />if (el == this[i]) {<br />return i;<br />}<br />}<br />return -1;<br /> };</p><p> //是否相同,相同返回true,不同返回false<br /> Array.prototype.same = function () {<br />if (this.length == 0) {<br />return true;<br />}<br /> var temp = this.join('').replaceAll(this[0], "");<br /> if (temp != "") {<br /> return false;<br /> } else {<br /> return true<br /> }<br />};<br /> //replaceAll函數參考:http://blog.csdn.net/IBM_hoojo/archive/2010/06/17/5675096.aspx </p><p> //判斷是否存在重複資料<br /> Array.prototype.iterate = function () {<br /> var flag = false;<br />for (var i = 0, len = this.length; i < len; i++) {<br />for (var j = 0; j < len; j++) {<br />if (this[i] == this[j] && i != j) {<br />flag = true;<br />break;<br />}<br />}<br />}<br />return flag;<br /> };</p><p> //傳入一個回調,根據回呼函數條件過濾數組<br /> Array.prototype.filter = function(callback) {<br />var rs = [];<br />for ( var i = 0, length = this.length; i < length; i++ ) {<br />if (callback(this[i], i)) {<br />rs.push(this[i]);<br />}<br />}<br />return rs;<br />};</p><p> window.onload = function () {<br /> var ary = [1, 2, 3, 4, 6, 4, 5];<br /> alert(ary.index(6));<br /> alert(ary.same());<br /> alert(ary.iterate());<br /> var a = ary.filter(function (n, i) {<br /> return n > 4;<br /> });</p><p> alert(a.length + "-" + a[0]);<br /> }<br /> </script>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.