JavaScript的引用类型1(Object Array)

Object类型 Array类型 Date类型 RegExp类型 Function类型

引用类型的值也就是对象是引用类型的一个实例,引用类型是一种数据结构,将数据和功能组合在一起。

//新对象是使用new操作符后跟一个构造函数创建的
var person=new Object();
//创建一个Object引用类型的一个新实例,使用的构造函数是Object()

1.Object 类型

使用最多的类型

  • 创建方式
//推荐使用对象字面量表达法
var person= {
            name: "Curry",
            age: 30//最后一个属性不加逗号
        };
//new操作符
var person1=new Object();
person1.name="Curry";
person1.age=30;
  • 访问对象的属性
alert(person["name"]);
alert(person.name);//没有特殊要求推荐使用点表示法

2.Array类型

使用次数其次的类型

1.基础知识
  • 创建
//1.new操作符+Array()构造函数(new可省略)
var colors=new Array();
var colors=new Array(20);//创建length值为20
var colors=new Array("red","blue","green");//创建包含3个字符串的数组
var colors=Array(3);//省略new
//2.数组字面量表示法
var colors=["red","blue","green"];//创建包含3个字符串的数组
var color=[];//创建空数组
  • 读取和设置数组的值
var colors=["red","blue","green"];
alert(colors[0]);//访问第一项
colors[1]="black";//修改第二项
colors[3]="white";//新增第四项
  • 通过length从数组末尾移除或添加
var colors=["red","blue","green"];
colors.length=2;//长度为2 也就是删除第3项
alert(colors[2]);//undefined

var colors=["red","blue","green"];
colors.length=4;//增加第四项
alert(colors[3]);//undefined,新增的第四项值为undefined

var colors=["red","blue","green"];
colors[colors.length]="brown";//在位置4添加"black"
2.检测数组

Array.isArray()方法

if(Array.isArray(value)){
    //对数组执行某些操作
}
3.转换方法

toString() valueOf() toLocaleString()

toString():返回数组中的每个值的字符串形式拼而成的一个以逗号分隔的字符串
valueof():返回的还是数组

var colors=["red","blue","green"];
alert(colors.toString());//red,blue,green
alert(colors.valueOf());//red,blue,green
alert(colors);//red,blue,green
3.重排序

reverse() sort()

var values=[0,1,5,10,15];
values.reversea();
alert(values);//15,10,5,1,0进行反转

var values=[0,1,5,10,15];
values.sort();
alert(values);//0,1,10,15,5 升序排列
//但是进行字符串比较是"5"排最后
//修正
function compare(value1, value2) {
            if (value1<value2){
                return -1;
            }else if (value1>value2){
                return 1;
            }else {
                return 0;
            }
        }
        var values=[0,1,5,10,15];
        values.sort(compare);
        alert(values);//0,1,5,10,15
4.操作方法

concat( )、 slice( ) 、splice( )

//concat()方法可以基于当前所有数组项创建新的数组
var colors=["red","blue","green"];
var colors2=colors.concat("yellow",["black","brow"]);
alert(colors);//red,blue,green
alert(colors2);//red,blue,green,yellow,black,brown
//slice()基于当前数组中的一个或多个创建新数组,可以接受一个或两个参数
var colors=["red","blue","green","yellow","purple"];
var color2=colors.slice(1);//从1到结尾
var color3=colors.slice(1,4);//从1到3 不包含4
alert(colors);//blue,green,yellow,purple
alert(colors2);//red,blue,green
//splice()删除、插入和替换
var colors=["red","green","blue"];
var removed=colors.splice(0,1);//0起始位置,1要删除的项数。即删除第一项
alert(colors);//green,blue

var removed=colors.splice(1,0,"yellow","orange");//起始位置、删除项数和要插入的项
5.位置方法

indexOf() 、lastIndexOf()

indexOf():可以接收两个参数:要查找的项和表示要查找的其实位置的索引(可选),从数组的开头开始
lastIndexOf():从数组的末尾开始
返回:在数组中的位置

var numbers=[1,2,3,4,5,6,5,4,3,2];
alert(numbers.indexOf(4));//3
6.迭代方法

some( )、every( )、filter( )

var numbers=[1,2,3,4,5,4,3,2,1];
var everyResult=numbers.every(function(item,index,array){
    return (item>2);
});
alert(everyResult);//false
7.归并

reduce( ) reduceRight( )

var numbers=[1,2,3,4,5]
var sum=numbers.reduce(function(prev,cur,index,array){
    return (prev+cur);
});
alert(sum);//15
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值