文档章节

js array 取指定元素索引、判断是否相同、重复、过滤数据

JAVA_NINA
 JAVA_NINA
发布于 2015/02/05 10:54
字数 256
阅读 37
收藏 0

最近写js也多了,Array中有好多方法不够用。自己加了些以后还可能用到。  

<script type="text/javascript">          
        //找到返回所在索引,不存在返回-1   
        Array.prototype.index = function (el) {   
            var i = 0;   
            for (var i = 0, len = this.length; i < len; i++) {   
                if (el == this[i]) {   
                    return i;   
                }   
            }   
            return -1;     
        };   
           
        //是否相同,相同返回true,不同返回false                                  
        Array.prototype.same = function () {      
            if (this.length == 0) {   
                return true;   
            }   
            var temp = this.join('').replaceAll(this[0], "");      
            if (temp != "") {      
                return false;      
            } else {      
                return true     
            }      
        };                 
        //replaceAll函数参考:http://blog.csdn.net/IBM_hoojo/archive/2010/06/17/5675096.aspx            
  
        //判断是否存在重复数据   
        Array.prototype.iterate = function () {   
            var flag = false;   
            for (var i = 0, len = this.length; i < len; i++) {   
                for (var j = 0; j < len; j++) {   
                    if (this[i] == this[j] && i != j) {   
                        flag = true;   
                        break;   
                    }   
                }   
            }   
            return flag;   
        };   
           
        //传入一个回调,根据回调函数条件过滤数组   
        Array.prototype.filter = function(callback) {   
            var rs = [];       
            for ( var i = 0, length = this.length; i < length; i++ ) {   
                if (callback(this[i], i)) {   
                    rs.push(this[i]);   
                }   
            }   
            return rs;   
        };   
           
        window.onload = function () {   
            var ary = [1, 2, 3, 4, 6, 4, 5];   
            alert(ary.index(6));   
            alert(ary.same());   
            alert(ary.iterate());   
            var a = ary.filter(function (n, i) {   
                return n > 4;   
            });   
               
            alert(a.length + "-" + a[0]);   
        }   
    </script>


本文转载自:http://zpball.iteye.com/blog/933211

JAVA_NINA
粉丝 26
博文 219
码字总数 33012
作品 0
唐山
程序员
私信 提问
Immutable.js了解一下?

本篇只是对Immutable.js的简单介绍,后续会继续分享其具体实践应用。 什么是Immutable Data? Immutable data encourages pure functions (data-in, data-out) and lends itself to much si...

桂圆_noble
2018/03/29
0
0
JavaScript数组的十八般武艺

数组 数组是值的有序集合,每个值叫做一个元素,而每个元素在数组中有一个位置,以数字表示,称为索引。 JavaScript数组的索引是基于零的32位数值,第一个元素索引为0,数组最大能容纳42949...

cfangxu
2018/08/07
0
0
编程学习读书笔记之jQuery函数应用学习心得(图)

编程学习读书笔记之jQuery函数应用学习心得(图) jQuery.extend() 函数 用于将一个或多个对象的内容合并到目标对象。 1.当提供两个或多个对象给.extend(),对象的所有属性都添加到目标对象(...

原创小博客
2018/07/23
0
0
JavaScript学习记录day4-Map、Set和iterable

JavaScript学习记录day4-Map、Set和iterable [TOC] JavaScript的默认对象表示方式可以视为其他语言中的或的数据结构,即一组键值对。 但是JavaScript的对象有个小问题,就是键必须是字符串。...

ygqygq2
2018/06/29
0
0
前端入门11-JavaScript语法之数组

声明 本系列文章内容全部梳理自以下几个来源: 《JavaScript权威指南》 MDN web docs Github:smyhvae/web Github:goddyZhao/Translation/JavaScript 作为一个前端小白,入门跟着这几个来源学...

请叫我大苏
2018/12/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Java 静态代理、Java动态代理、CGLIB动态代理

Java 的代理就是客户类不再直接和委托类打交道, 而是通过一个中间层来访问, 这个中间层就是代理。为啥要这样呢, 是因为使用代理有 2 个优势: 可以隐藏委托类的实现 可以实现客户与委托类之间...

gaomq
15分钟前
0
0
win10部署sonar代码扫描工具

一 安装MySQL解压版 此部分参看Win10安装MySQL5.7.22 解压缩版(手动配置)方法 1、下载 mysql-5.7.26-winx64.zip 解压之后生成 mysql-5.7.26-winx64 文件夹。 2、在D盘创建Mysql目录 D:\MyS...

BG2KNT
17分钟前
0
0
小程序的rpx以及rem和px的换算

(1).rpx:不论哪个型号的手机,屏幕宽度都是750rpx rpx与px的转换,根据设计稿换算 例如:设计稿750px宽度,ps上量出或者标出的宽度是多少,那么就定义多少rpx,也就是,1px = 1rpx 例如:设计...

流年那么伤
17分钟前
0
0
当我说要做大数据工程师时他们都笑我,直到三个月后……

申明: 本文旨在为普通程序员(Java程序员最佳)提供一个入门级别的大数据技术学习路径,不适用于大数据工程师的进阶学习,也不适用于零编程基础的同学。 前言: 一、背景介绍 二、大数据介绍...

求神
22分钟前
0
0
python3 案例分享--天气预报

通过输入城市就能查出最近几日的天气情况, 代码如下: from tkinter import *import urllib.requestimport gzipimport jsonfrom tkinter import messageboxroot = Tk()...

lyle_luo
29分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部