《JavaScript高级程序设计》——JS中Object与Array类型常用方法。

//创建对象的两种方法(另一种:对象字面量两表示法)
var person1 = new Object();
person1.age = 29;
person1.name = "Nicholas";

var person2 = {				//另一种创建对象的方法(对象字面量表示法),每个属性之间加逗号,最后一个不能加。
	"name": "Nicholas",		//属性名可以不使用字符串。
	"age": 29
};

console.log(person2.name);

var obj = new Object();
var obj = {};				//这两种写法等价。使用对象字面量时不会调用Object的构造函数。

//调用属性的两种方法。
function display(args){
	console.log(args.name);
	console.log(args.age);
	console.log(args["name"]);	//方括号表示法,如果想用变量操作属性,可以选用。
}

display({
	name: "Steve",
	age: 24
});



//Array
var arrays = Array(3);	//可以省略new
arrays.push(3);
console.log(arrays);	//,,,3


//lenth(可以直接往脚标length上添加数据,相当于push)
var colors = ["hehe","haha","heihei"];
colors.length = 2;
console.log(colors[2]);      //undefined 改变length以后移除了。


var colors = ["hehe","haha","heihei"];
colors[colors.length] = "xixi";		//相当于push

console.log(colors);    //会在后台调用toString方法


//采用字面量表示法定义实例中的函数。
var obj = new Object({
	toString: function(){
		return "StringString";
	},
	toLocaleString: function(){
		return "LocaleString";
	}
});

//每个Object中的toString方法都是逐个调用元素的toString(),toLocaleString是逐个调用元素的toLocaleString然后拼接。
console.log(obj.toString());			//String		因为被复写的String方法
console.log(obj.toLocaleString());		//LocaleString 因为被复写的toLocaleString方法


//使用join方法:返回一个元素之间含有指定分隔符的Array
var colors = ["hehe","haha","heihei"];
console.log(colors.join("啊啊"));		//设定字符串输出时的分隔符。


//数组的栈与队列方法
var colors = ["hehe","haha","heihei"];
colors.push("xixi");
console.log(colors);
colors.pop();
console.log(colors);		//JS中的数组可以进行栈方法, push进栈 pop出栈。
console.log(colors.pop());	//数组pop时返回弹出的值。
colors.push("xixi");
console.log(colors);

console.log(colors.shift());  //队列方法shift(),取出头上的数据,取出了hehe
console.log(colors);		//hehe不见了

colors.unshift("hehe","hehe")//队列方法unshift() 插队,从队列前端推入。
console.log(colors);
//同时用unshift和pop可以模拟反向队列,从前端入队,后端出队。



array = new Array(2,50,38,3,7);
console.log(array.reverse());
console.log(array);
console.log(array.sort());
console.log(array);


//数组的sort方法默认以字符串的方法比较,想要自定义比较方法就传入一个函数(可以采取匿名函数)
array = new Array(2,50,38,3,7);
array.sort(function(value1,value2){		//传入函数以进行比较。
	return value1-value2;
});
console.log(array);


//截取(slice)
var array = new Array(2,50,38,3,7);
var array2 = array.slice(2,4);				//截取数组从2到4(但不包括4)
console.log(array2);


var array = new Array(2,50,38,3,7);			//splice(粘接)
console.log(array.splice(2,3));			//传入两个参数,删除:从第二项开始删除三项。返回的是被删除的项。
console.log(array);

var array = new Array(2,50,38,3,7);
console.log(array.splice(2,2,"hehe","haha"));	//传入多个参数,再从第二项开始删除两项以后,插入"hehe"和"haha"。(第二个参数为0则不删除)
console.log(array);


//枚举函数。
var array = new Array(2,50,38,3,7);
var result1 = array.forEach(function(item){		//枚举函数forEach。没有返回值。
	return item>5;
});
console.log(result1);		//undefined

var result2 = array.every(function(item){		//枚举函数every。数组内元素全部返回true才返回true。
	return item>5;
});
console.log(result2);		//false

var result3 = array.map(function(item){		//枚举函数map。调用函数结果的数组。
	return item>5;
});
console.log(result3);

var result4 = array.filter(function(item){	//枚举函数filter。返回结果是true函数执行内容的数组。
	return item>5;
}
)
console.log(result4);

var result5 = array.some(function(item){	//枚举函数some。调用结果结果是true内容的数组。
	return item>5;q
});
console.log(result5);

//归并方法
var values = [10,20,30,40,50];
var sum = values.reduce(function(num1,num2){
	return num1+num2;
});
console.log(sum);			//150,从左到右将数组中的元素按照指定函数相加。遍历从左端开始

var sum = values.reduceRight(function(num1,num2){
	return num1+num2;		
});
console.log(sum);			//150,从右到左将数组中的元素按照指定函数相加。遍历从右端开始






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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值