JS数组-第一脚

数组定义:

var arr = [12,5,8,9];
var arr = new Array(12,5,8,9);

数组的length属性:

1. length即可以获取数组的长度,又可以设置数组的长度

2. 和其他语言不同的是js的数组的长度是动态改变的,js数组中可以存放任意类型数据,但是最好只存放一种类型的数据

1. 方法push( )向数组中追加元素,返回值为新数组的长度。

<script>
    var arr = [12,5,8,9];
    var res = arr.push(3);
    alert(res); // 返回值为数组的长度5
</script>

2. 方法pop()从数组的尾部移除一个元素,返回值为移除的元素

<script>
    var arr = [12,5,8,9];
    var res = arr.pop();
    alert(res); // 返回值为移除的元素9
</script>

3. 方法shift()从数组的头部移除一个元素,返回值为移除的元素

<script>
    var arr = [12,5,8,9];
    var res = arr.shift();
    alert(res); // 返回值为移除的元素12
</script>

4. 方法unshift()从数组头部插入元素,返回值为新数组的长度

<script>
    var arr = [12,5,8,9];
    var res = arr.unshift(3);
    alert(res); // 返回数组的长度5
</script>

5. 方法slice()用来截取数组的,返回值为截取的值(左闭右开区间)

<script>
    var arr = [12,5,8,9];
    //arr.slice(1,3)的意思是:截取下标 (大于等于1,小于3)的值
    var res = arr.slice(1,3);
    alert(res); // 返回值为5,8
    alert(arr); // 返回12,5,8,9 可见slice方法不操作数组本身
</script>

6. 方法splice()用于向数组中添加元素,也用于从数组中删除元素;返回值为被删除的元素

var arr = [12,5,8,9];
var res = arr.splice(1,3);// 从下标为1的值开始,删除3个元素
alert(res); // 返回值为删除的元素:5,8,9
alert(arr); // 返回12 可见splice方法会操作数组本身
var arr = [12,5,8,9];
var res = arr.splice(1,3,44,55);// 从下标为1的值开始,删除3个元素,然后在添加2个元素,44,55
alert(res); // 返回值为删除的元素:5,8,9
alert(arr); // 返回12,44,55 
var arr = [12,5,8,9];
var res = arr.splice(1,0,44,55);// 从下标为1的值开始,删除0个元素(不删除元素),然后在从下标为1的位置添加2个元素,44,55
alert(res); // 返回值为删除的元素:为空
alert(arr); // 返回12,44,55,8,9

7. 方法concat()用于连接两个或多个数组,返回值为新数组

var arr1 = [12,5,8,9];
var arr2 = [33,44];
var res = arr1.concat(arr2);
alert(res); // 12,5,8,9,33,44

连接多个数组

var arr1 = [12,5,8,9];
var arr2 = [33,44];
var arr3 =['A','B'];
var res = arr1.concat(arr2,arr3);
alert(res); // 打印出12,5,8,9,33,44,A,B
alert(arr1);// 打印12,5,8,9 ,可见concat方法不操作数组本身
alert(arr3);// 打印 A,B

8. 方法join(分隔符):用分隔符来连接数组中的每个元素,返回连接后结果(字符串形式)

var arr1 = [12,5,8,9];
var res = arr1.join('*');
alert(res); // 12*5*8*9
alert(arr1);// 打印12,5,8,9,可见join方法也不操作数组本身

补充:

//js中字符串有个split的用法:用来将字符串分割为数组
    var str='12*5*8*9';
    var res = str.split('*');//用字符*来分割
    alert(res);

9. 方法sort()对数组元素进行正序排序(从小到大),默认是按ASCII字母表的大小顺序进行排序(注意:对数字进行排序的时候并不是按照数字的大小进行排序的)

var arr = [12,5,8,9,10,1];
var res = arr.sort(arr);
alert(res); //打印结果1,10,12,5,8,9,并不是我们想象的1,5,8,9,10,12
alert(arr);// 打印1,10,12,5,8,9 ,可见sort方法操作数组本身

为了清楚理解sort的排序原理

var arr = [12,5,'a',8,'A','D',9,10,1,'c'];
var res = arr.sort(arr);
alert(res); //1,10,12,5,8,9,A,D,a,c

ASCII表 大小顺序

1)数字0~9比字母要小。如"7"<"F";

2)数字0比数字9要小,并按0到9顺序递增。如"3"<"8"

3)字母A比字母Z要小,并按A到Z顺序递增。如"A"<"Z","a"<"z"

4)大写字母比小写字母要小。如"A"<"a","D"<"a"。

如果想通过sort实现对数字进行大小的比较,我们需要自定义一个“比较函数”作为参数传给sort。例如

function compare(n1,n2){ // 自定义比较的函数
        if(n1<n2){
            return -1;
        }
        else if(n1>n2){
            return 1;
        }
        else{
            return 0;
        }
}
var arr = [12,5,8,9,10,1];
var res = arr.sort(compare);//通过自定义的函数对 数字进行正序排序
alert(res); // 打印 1,5,8,9,10,12
// 简单的写法
    function compare(n1,n2){
        return n1 -n2;// 从小到大排序
    }
    var arr = [12,5,8,9,10,1];
    var res = arr.sort(compare);//通过自定义的函数对 数字进行正序排序
    alert(res); // 打印 1,5,8,9,10,12

如果要实现从大到小排序,只需要return n2-n1

function compare(n1,n2){
        return n2-n1;//从大到小排列
}

10. 方法revers用来对数组进行倒叙排序(排序的原则是颠倒数组元素的位置),简单来说就是把数组里的元素翻个个。

var arr = [12,5,8,9,10,2];
var res = arr.reverse();
alert(res); //打印2.10,9,8,5,12
alert(arr);//打印2.10,9,8,5,12 可见reverse方法操作数组本身
//字符串
    var arr = ['Zhangsan','Lisi','Wangwu','Zhaoliu'];
    var res = arr.reverse();
    alert(res); //打印 Zhaoliu.Wangwu,Lisi,Zhangsan
时间: 2024-10-20 22:11:15

JS数组-第一脚的相关文章

js数组知识

js数组 shift:删除原数组第一项,并返回删除元素的值:如果数组为空则返回undefined Javascript代码 var a = [1,2,3,4,5]; var b = a.shift(); //a:[2,3,4,5] b:1 unshift:将参数添加到原数组开头,并返回数组的长度 Javascript代码 var a = [1,2,3,4,5]; var b = a.unshift(-2,-1); //a:[-2,-1,1,2,3,4,5] b:7 注:在IE6.0下测试返回值总

JS数组及内置对象

[JS中的数组] 1.数组的概念:数组是在内存中连续存储多个有序元素的结构元素的顺序,称为下标,通过下标查找对应元素. 2.数组的声明: ① 字面量声明: var arr1 = [];JS中同一数组,可以储存多种不同的数据类型(但一般同一数组只用于存放同种数据类型):例如:var arr1 = [1,"2",true,{"name":"jianghao"},[1,2]]; ② new关键字声明: var arr2 = new Array(参数);

PPK谈JS笔记第一弹

以下内容是读书笔记,再一次温习JS好书:PPK谈JS window.load=initializePageaddEventSimple('window','load',function(){}) load事件在页面被完成加载时触发,显然这正是我们初始化脚本所需要的.问题是如果同时批量初始化,可能会发生替换,最后的赋值会替换前面的. js变量名,方法名等区分大小写使用分号作为语句分隔符注释是// /**/代码块使用{} undefined nullundefined:你访问了一个对象不存在的属性或

js数组操作

js数组操作大全(转) shift:删除原数组第一项,并返回删除元素的值:如果数组为空则返回undefined var a = [1,2,3,4,5]; var b = a.shift(); //a:[2,3,4,5] b:1 unshift:将参数添加到原数组开头,并返回数组的长度 var a = [1,2,3,4,5]; var b = a.unshift(-2,-1); //a:[-2,-1,1,2,3,4,5] b:7 注:在IE6.0下测试返回值总为undefined,FF2.0下测试

js数组移动上移下移置顶置底,vue实现表格上下移动置底置顶

js操作数组移动 //先封装js数组交换顺序方法 /*参数说明 arr是要操作的数组 index1 是准备移动的元素 index2 是准备移动到的位置 往下移就是 index2=index+1 往上移动就是 index2=index+1: 这个也可以在页面试试那个方法就指导了,但是置顶和置底还有点差别 */ var swapItems = function(arr, index1, index2,direction) { if(direction=='up'){//置顶 arr.unshift(

js数组依据下标删除元素

最近在项目中遇到了一些问题,基础性的东西记得不牢固,就总结一下放在这里备再次查找,对操作js数组的一些问题一些常用的记录! 1.创建数组 var array = new Array(); var array = new Array(size);//指定数组的长度 var array = new Array(item1,item2……itemN);//创建数组并赋值 2.取值.赋值 var item = array[index];//获取指定元素的值 array[index] = value;//

JS数组(Array)操作汇总

1.去掉重复的数组元素.2.获取一个数组中的重复项.3.求一个字符串的字节长度,一个英文字符占用一个字节,一个中文字符占用两个字节.4.判断一个字符串中出现次数最多的字符,统计这个次数.5.数组排序. 6.快排. 7.删除/添加数组项. 8.数组随机顺序输出. 9.数组求和.最大值. 10.判断是否为数组. 11.冒泡排序. 1.去掉重复的数组元素. Array.prototype.unique = function() { var ret = []; var o = {}; for(var i

js 的数组怎么push一个对象. Js数组的操作push,pop,shift,unshift JavaScript使用push方法添加一个元素到数组末 JavaScript数组函数unshift、shift、pop、push使用

push()函数用于向当前数组的添加一个或多个元素,并返回新的数组长度.新的元素将会依次添加到数组的末尾. 该函数属于Array对象,所有主流浏览器均支持该函数. 语法 array.push( item1 [,items... ] )参数 参数 描述item1 任意类型添加到当前数组末尾处的元素.items 可选参数/任意类型要添加到当前数组末尾处的其他项,可以有多个.注意:如果添加的元素类型为数组类型(Array),仍然会被当作一个元素看待,只是这个元素是数组类型而已.如果要合并两个数组,请使

js数组常用操作方法小结(增加,删除,合并,分割等)

本文实例总结了js数组常用操作方法.分享给大家供大家参考,具体如下: var arr = [1, 2, 3, 4, 5]; //删除并返回数组中第一个元素 var theFirst = arr.shift(); alert(theFirst);//返回1 number alert(arr);//2,3,4,5 object //删除并返回数组中最后一个元素 var theLast = arr.pop(); alert(theLast);//返回5 number alert(arr);//2,3,