jQuery(js) 数组属性方法

js array属性方法

array.pop : 删除数组内的最后一个对象

array.shift :删除数组内的第一个对象

array.join: 数组内元素弄成字符串插入页面

array.reverse : 数组内元素倒置

array.concat : 数组合并,但是谁与谁合并,要注意顺序

array.toString : 数组直接转为字符串,不再是对象了

array.valueOf : 显示原始的值,里面有什么东西

array.sort : 以ascii代码来排列先后顺序,但是数字不能用sort去排列。要排序请往下看,有例子哦。

array.push : 数组末端添加新对象,返回显示是数组长度

array.slice :删除数组内对象 slice( start , end)

array.splice : 删除添加对象

array.unshift : 前面插入对象,返回显示是数组长度

array.indexOf: 检查对象是否存在

下面来显示一些例子,让我们能够更明白是如何用的,计算机又是如何操作的。

var bb = ['qq','aa','ss','ee'];

var ooo = ['Nov','August'];

alert(bb.indexOf('qq'));// 返回0,因为qq是数组内的一个对象,位置是0

alert(bb.pop());//返回ee

alert(bb.shift());//返回qq

alert(bb.join( and ));//返回qq and aa and ss and ee

alert(bb.toString());// 返回qq,aa,ss,ee

alert(bb.valueOf());//返回qq,aa,ss,ee

alert(bb.sort());//返回aa,ee,qq,ss

alert(bb.push("Lemon","Pineapple"));//返回6,因为数组已有六个对象,分别是:qq,aa,ss,ee,Lemon,Pineapple

alert(bb.slice(0,2));//返回qq,aa

alert(bb.splice(1,3,'lemon'));//返回aa,ss,ee,从aa起删除,除去长度为:三个

alert(bb.unshift('sunny'));//返回5,因为数组增加了一个对象,便由4变成了5

alert(bb.concat(ooo));//返回qq,aa,ss,ee

alert(bb.reverse());//返回ee,ss,aa,qq,Nov,August

 其实只要多练练就知道这些是怎么使用的了,多练习是灵活使用的前提。

数字排序,使用sort()方法,例子如下:

 var foo = [1,12,15,54,56,89,123,78];

 function num(a,b) {

     return a - b;

}

alert(foo.sort(num));// 返回1,12,15,54,56,78,89,123

现在就试试吧!


3:push 方法向Array中添加一条记录


var totalUsers = new Array();
function PushItem(name, departmemt) {
    var currentUser = new Object();
    currentUser.UserName = name;
    currentUser.Department = departmemt;
    totalUsers.push(currentUser);
}

4:pop 方法从Array的栈中弹出最上面的那条记录


var totalUsers = new Array();
var user1 = new Object();
user1.UserName = "haha";
user1.Department = "hahahaha";
var user2 = new Object();
user2.UserName = "lolo";
user2.Department = "lolololo";
totalUsers.push(user1);
totalUsers.push(user2);
totalUsers.pop();
//totalUsers中会剩下user1,因为user2在栈的最上方,被弹出

5:splice 方法从Array中删除指定的某条或者多条记录


var totalUsers = new Array();
totalUsers.push(...);

function SpliceItem(name) {
    for (var i = 0; i < totalUsers.length; i++) {
        if (totalUsers[i].UserName == name) {
            totalUsers.splice(i, 1)
        }
    }
}


输出重复数组元素
// 方法一,正则判断------本人已经测试过,其他的没有测试过。
var ary = new Array("111","ff","222","aa","222");
alert(mm(ary))
// 验证重复元素,有重复返回true;否则返回false
function mm(a)
{
   return /(\x0f[^\x0f]+)\x0f[\s\S]*\1/.test("\x0f"+a.join("\x0f\x0f") +"\x0f");
}

// 方法二,通过数组排序,比较临近元素,可指出重复的元素
var ary = newArray("111","22","33","111","22");
var nary = ary.sort();
for(var i = 0; i < nary.length - 1; i++)
{
   if (nary[i] == nary[i+1])
    {
       alert("重复内容:" + nary[i]);
    }
}

// 方法三,通过字符串查找
var ary = newArray("111","22","33","111","22");
var s = ary.join(",") +",";
for(var i = 0; i < ary.length; i++)
{
   if(s.replace(ary[i] + ",", "").indexOf(ary[i] +",") > -1)
    {
       alert("重复内容:" + ary[i]);
    }
}

// 方法四,通过哈希
var ary = newArray("111","22","33","111","22");
alert(isRepeat(ary));
// 验证重复元素,有重复返回true;否则返回false
function isRepeat(arr) {
   var hash = {};
   for(var i in arr) {
       if(hash[arr[i]])
       {
           return true;
       }
       // 不存在该元素,则赋值为true,可以赋任意值,相应的修改if判断条件即可
       hash[arr[i]] = true;
    }
   return false;
}


去除重复数组元素
var arr = ['a','b','c','d','c','a'];
var new_arr = [];
for(var i=0;i<arr.length;i++) {
    var items=arr[i];
    //判断元素是否存在于新数组new_arr中,如果不存在则插入到数组new_arr的最后
    if($.inArray(items,new_arr)==-1) {
        new_arr.push(items);
    }
}
console.log(ids);    //Array(4)['a','b','c','d']



jQuery 删除指定数组元素'c'
var ids = ['a','b','c','d'];
ids.splice($.inArray("c",ids),1);    //$.inArray("c",ids)返回元素'c'所在位置,splice(从c的位置开始,删除元素个数)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值