数组以及10个属性

数组中的去重复:

如果需要去重复,我们首先要将数组中的任意两个元素对比,不相等的取出组成一个新的没有重复的数组;
但是要想成功实现任意对比;
我们需要对数组进行排序:

排序的方法:1:冒泡排序
使用双重for循环实现数组的从小到大 的排序;
var arr=[1,2,2,1,5,4,3,2,5,5,5,5,6,7,8,11,11,10,25,25];
//数组去重复的基本思路:1,前后对比所有的元素,如果不相等,就取出前一个元素,形成新数组;
//首先对数组arr进行数组排序:
/var n=null;
for(var j=0;j<arr.length;j++){
for(var i=0;i<arr.length;i++){
if(arr[i]>arr[j]){
n=arr[j];//先将小的那个数赋值给n;
arr[j]=arr[i];
arr[i]=n;
}
}
}
/

可是实际双重for循环在内存中占据资源太多,所以我们尽量使用一个数组自带的排序方法:sort()排序;

1,sort();

原理:利用所有的数据在nuicode编码表中的序号进行大小对比;因为该表没有存储超过9以上的数字;
所以直接使用无法实现9以上的数字的排序;所以为了实现对任意数字的排序,我们需要引入一个自定义方法;
arr=[];
arr.sort(function (a,b){return a-b});
这样就可以实现对数组的排序;

2,尾部插入元素;push();

push();作用是在数组的尾部自动追加一个或者多个元素,并且能够自动往后延续;
arr.push(brr[i]);
这句话可以解释为:我们给arr这个数组的尾部插入一个元素,这个元素是brr数组的某一个;
arr是要插入元素的数组对象;
push(这里写入的是要放进去的内容;)

练习:
var arr=[1,2,2,1,5,4,3,2,5,5,5,5,6,7,8,11,11,10,25,25];
将该数组中的不重复元素取出来形成一个新数组;

3, pop();在尾部删除一个元素;

arr.pop();//删除数组中最后一个元素,并且将删除后的数组重新返回;
console.log(arr);

4,shift();在头部插入一个元素;

arr.shift(value);

5.在数组的头部删除一个元素:

arr.unshift();//删除数组中的第一个元素,并且将删除后的数组返回;
练习: 排队买票;
总共可以有:50张票;
目前排队:27人;
如果:后面来了32人继续排队;请问从第几个人之后无法买到票;给出提示;

6.将数组的内容一次性提取出来,形成一个字符串。

arr=[2017,12,21];
join();
arr.join("-");以短横线的方式将元素连起来,并且形成一个string数据输出;

7,将两个小的数组,拼接在一起:

concat();
如果我们将a,b两个数组拼接在一起:
a.concat(b);
此时会得到一个新的数组,这个数组包含a,b中原来元素;

8,数组的截取:slice(start,end);

start开始截取的元素下标号;
end:结束的 元素下标:但是end这个下标不会被截取到;
arr.slice(0,6);

9,批量的添加修改或者删除;splice(index,how many,item,item)

arr.splice(0,6)
splice()中的第二参数是指需要获取多少个?如果我们需要配获取10个,那就写10;
他和slice()的区别是。slice()后面的第二个参数是表示我们截取数组结束位置的下标号 ;
2,关联数组:
索引数组的下标:是隐藏的,但是呈现规律性存在从0开始计算;
但是关联数组:下标直接出现在数组里,与元素的内容形成一个键值对形态存在;
var arr=[“name”:“tom”,“age”:21];
这样的数组我们称为:关联数组:hash数组;
关联数组的创建:
var arr=[];
arr[“name”]=“tom”;
arr[“age”]=21;
arr[“city”]=“北京”;
console.log(arr);
关联数组的最大特点:1,没有数组长度。2,数组的下标称为了元素的键名:关联数组不存在重复的元素;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值