js对象和数组


js对象

创建方式

var jsOb = new Object();
var jsOb = Object();
var jsOb = {};

初始化对象

jsOb.name = '小明;
jsOb.age = '16';
jsOb.run = function(){
    return '这是一个jsOb run()方法的返回';
}

var jsOb = {
    name : '小明',
    age : 16,
    run : function(){
        return '这是一个jsOb run()方法的返回';
    }
}   

调用对象的属性和方法

alert(jsOb.name)    //小明
alert(jsOb.age) //16
alert(jsOb.run) //function(){return '这是一个jsOb run()方法的返回';}
alert(jsOb.run())   //这是一个jsOb run()方法的返回

js数组

创建方式

var arr = new Array();
var arr = Array();
var arr = [];

创建并初始化数组

var arr = new Array(1,'早上好',new Object());
var arr = new Array(20);    //创建一个20长度的数组
var arr = Array(1,'早上好',new Object());
var arr = Array(20);    //创建一个20长度的数组
var arr = [1,'早上好',new Object()];

动态添加数据

arr[arr.length] = '2';
arr[arr.length+2] = '4';    //arr[arr.length+1]是undefined的。
arr.length = 100;   //修改数组的长度值

打印数组

alert(arr); //1,2,3,4,5,6,7,8
alert(arr.join('|'));   //1|2|3|4|5|6|7|8

栈方法

var arr = [1,2,3];
arr.push('1',2,'第三个');  //返回数组的最新长度 : 6
alert(arr) // 123,'1',2,'第三个'
arr.pop(); //返回最后放入数组的元素:'第三个'
alert(arr); //123,'1',2

队列方法

var arr = [1,2,3];
arr.push('1',2,'第三个');  //返回数组的最新长度 : 6
alert(arr); // 1,2,3,'1',2,'第三个'
arr.shift();    //从数组开头取出一个,返回:1
alert(arr); ///2,3,'1',2,'第三个'

在数组最前面添加元素

var arr = [1,2,3];
arr.unshift('123','234');
alert(arr); //123,234,1,2,3

数组排序

//翻转数组
var arr = [3,1,2,4,5,15];
arr.reverse();
alert(arr); // 15,5,4,2,1,3 将数组逆向
//对数组进行排序
var arr = [3,1,2,4,5,15];
arr.sort();
alert(arr); //1,15,2,3,4,5 !!!???排序结果不对
//原因:sort()方法默认是按照字符串的实行进行排序的,所以会取第一个字母比大小

//解决方案
function compare(value1,value2){
    if(value1<value2){
        return -1;
    }else if(value1>value2){
        return 1;
    }else{
        return 0;
    }
}
arr.sort(compare);
alert(arr); //1,2,3,4,5,15

基于当前数组创建一个新数组

var arr = [1,2,3,4,5,6,7,8];
var arr2 = arr.concat('arr2','arr2'); 
alert(arr2);    //1,2,3,4,5,6,7,8,arr2,arr2
var arr3 = arr.concat();
alert(arr3);    //1,2,3,4,5,6,7,8  --单纯复制

//取当前数组部分为新数组
var arr4 = arr.slice(1);
alert(arr4); //2,3,4,5,6,7,8 
var arr5 = arr.slice(2,3);  //取2~3
alert(arr5);    //3,4

//splice删除
var arr6 = arr.splice(2,3); //从第一位开始一次往后删除3位,并将删除的值赋值给arr6
alert(arr6); // 3,4,5

//splice插入或者替换
var arr7 = arr.splice(2,0,'插入第一项','插入第二项');
alert(arr7);    //空数组
alert(arr)  //1,2,插入第一项,插入第二项,3,4,5,6,7,8

var arr8 = arr.splice(2,-1,'插入第一项','插入第二项');
alert(arr8);    //空数组 --此处同0
alert(arr); //1,2,插入第一项,插入第二项,3,4,5,6,7,8

var arr9 = arr.splice(2,1,'插入第一项','插入第二项');
alert(arr9);    //3
alert(arr); //1,2,插入第一项,插入第二项,4,5,6,7,8
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页