js中数组字符串相关

1.字符串转数组

var s = "abc,abcd,aaa";
ss = s.split(",");// 在每个逗号(,)处进行分解。

2.数组转字符串

var a, b;
a = new Array(0,1,2,3,4);
b = a.join(",");

3.查询数组中是否包含某元素

var num=jQuery.inArray(value, array);

解释:返回value在数组中的位置,从0开始计数(如果没有找到则返回 -1 )。

4.js中去除重复

参考其他人总结:

4.1

Array.prototype.unique1 = function () {

    var r = new Array();

    label:for(var i = 0, n = this.length; i < n; i++) {

        for(var x = 0, y = r.length; x < y; x++) {

            if(r[x] == this[i]) {

                continue label;

            }

        }

        r[r.length] = this[i];

    }

    return r;

}

4.2正则

Array.prototype.unique2 = function () {

    return this.sort().join(",,").replace(/(,|^)([^,]+)(,,\2)+(,|$)/g,"$1$2$4").replace(/,,+/g,",").replace(/,$/,"").split(",");

}

4.3使用对象的【hasOwnProperty】方法

rray.prototype.unique3 = function() {

    var temp = {}, len = this.length;

    for(var i=0; i < len; i++)  {

        var tmp = this[i];

        if(!temp.hasOwnProperty(tmp)) {

            temp[this[i]] = "my god";

        }

    }

 

    len = 0;

    var tempArr=[];

    for(var i in temp) {

        tempArr[len++] = i;

    }

    return tempArr;

}

4.4先排序,前项比后项。这个方法挺简单的,但也实用。

Array.prototype.unique4 = function () {

    var temp = new Array();

      this.sort();

      for(i = 0; i < this.length; i++) {

          if( this[i] == this[i+1]) {

            continue;

        }

          temp[temp.length]=this[i];

      }

      return temp;

 

}

4.5效率高

Array.prototype.unique5 = function() {

    var res = [], hash = {};

    for(var i=0, elem; (elem = this[i]) != null; i++)  {

        if (!hash[elem])

        {

            res.push(elem);

            hash[elem] = true;

        }

    }

    return res;

}

时间: 2024-08-24 06:13:50

js中数组字符串相关的相关文章

JS 中数组字符串索引和数值索引研究

先来看一个问题: var array = []; array["a"] = "hello"; array["b"] = "world"; array["c"] = "yes"; console.log("length: " + array.length);//0 在之前看过的许多javascript书籍中,都宣称js是可以使用字符串作为数组下标的,因此我在用的时候也没

js中数组Array的操作

JS中数组有很多操作,作为前端多多少少知道点,但每次要用时都需要去百度,有点麻烦,所以在这儿做个备忘,简单总结些平时最常用的数组操作. shift:删除原数组第一项,并返回删除元素的值: var a = [1,2,3,4,5]; var b = a.shift(); //a:[2,3,4,5] b:1 注:如果数组为空则返回undefined unshift:将参数添加到原数组开头,并返回数组的长度 var a = [1,2,3,4,5]; var b = a.unshift(-2,-1); /

js中数组去重的几种方法

js中数组去重的几种方法         1.遍历数组,一一比较,比较到相同的就删除后面的                 function unique(arr){                         for(var i=0;i<arr.length;i++){                                 for(var j=i+1;j<arr.length;j++){                                         if(ar

js中数组操作

var selectedCodeArray = []; var num = $.inArray(值, selectedCodeArray)  //值在数组中的位置 selectedCodeArray.push(值码); selectedCodeArray.splice(num, 1);//从数组中删除 js中数组操作,布布扣,bubuko.com

JS数组去重,js中数组(Array)的排序(sort)

JS数组去重 var ddd = [1,2,4,5,2, 222,1,5,6]; var uq = {}; var rq = []; for(var i=0; i<9; i++){ if(!uq[ddd[i]]){ uq[ddd[i]] = true; rq.push(ddd[i]); } } return rq; js中数组(Array)的排序(sort)注意事项 var arrDemo = new Array(); arrDemo[0] = 10; arrDemo[1] = 50; arrD

js中数组与对象的遍历

数组遍历: 1.js基本的for遍历 2.jquery提供的each函数 ----------------------------------- $.each(array, function(){ alert(this); }); ----------------------------------- 对象遍历: js: --------------------------------------------- for (var k in obj) { alert(obj[k]): } jque

js中数组增删查改unshift、push、pop、shift、slice、indexOf、concat、join

js中数组增删查改unshift.push.pop.shift.slice.indexOf.concat.join 原文地址:https://www.cnblogs.com/mahmud/p/10301590.html

js中scroll滚动相关

js中scroll滚动相关 scroll,滚动,一般讨论的是网页整体与浏览器之间的关系. 一.元素相关 属性/方法 解释 element.scrollHeight 返回元素的整体高度. element.scrollWidth 返回元素的整体宽度. element.scrollLeft 返回元素左边缘与视图之间的距离. element.scrollTop 返回元素上边缘与视图之间的距离. 这四个属性,全部是只读属性 其中,无非就是分为宽高和左上. 两个方向. 1.scrollHeight 和 sc

JS中实现字符串和数组的相互转化

早上起来看了一道JS的面试题,是这样描述的:利用var s1=prompt("请输入任意的字符串","")可以获取用户输入 的字符串,试编程将用户输入的字符串"反转",并且将字符串输出. 想了一下,字符串对象的方法中并没有实现反转的,但是数组中有,于是考虑了字符串和数组的相互转换问题. JS中的内置对象中包括字符串对象(String)和数组对象(Array),这两个对象是可以通过它们对象的方法实现相互 转化的.对于String对象,提供了对字符串