《JavaScript高级程序设计》——JS中Object与Array类型常用方法。
2016-04-04 00:39
627 查看
//创建对象的两种方法(另一种:对象字面量两表示法) 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,从右到左将数组中的元素按照指定函数相加。遍历从右端开始
相关文章推荐
- Objective-C Rectangle Demo
- have a different object
- 对比Swift和Objective_C中单例的写法
- objective-c 类
- 用Objective-C写了一个简单的批量更改文件名的程序
- 11 Eclipse的基本使用&API-常用类(Object类)
- Objective_C系统自带生成二维码
- 安卓开发——报错:Attempt to invoke interface method 'boolean java.util.List.add(java.lang.Object)' on a null
- Objective-C之初始化
- Objective-C中@property的所有属性详解
- JsonDataObjects基本演示
- JsonDataObjects 简单实用
- 对对象包装类ObjectInputStream/ObjectOutputStream的应用
- 数组与Object的关系及其反射类型
- NSObject
- 深入理解Objective-C:Category(下)
- 深入理解Objective-C:Category(上)
- Object wait T ms to run again
- Object wait and notify
- Objective-c 对象与类 继承