js获取对象数组中指定属性值对象_3分钟学会操作JavaScript
内置对象,快来试试吧...
1 - 内置对象
1.1 内置对象
JavaScript 中的对象分为3种:⾃定义对象 、内置对象、 浏览器对象。
前⾯两种对象是JS 基础 内容,属于 ECMAScript; 第三个浏览器对象属于 JS 独有的, JS API 讲解内置对象就是指 JS 语⾔⾃带的⼀些对象,这些对象供开发者使⽤,并提供了⼀些常⽤的或是最基本⽽必要的功能(属性和⽅法),内置对象最⼤的优点就是帮助我们快速开
发,JavaScript 提供了多个内置对象:Math、 Date 、Array、String等
1.2 查⽂档
查⽂档:学习⼀个内置对象的使⽤,只要学会其常⽤成员的使⽤即可,我们可以通过查⽂档学习,可以通过MDN/W3C来查询。Mozilla 开发者⽹络(MDN)提供了有关开放⽹络技术(Open Web)的信息,包括 HTML、CSS 和万维⽹及 HTML5 应⽤的 API。
1.3 Math对象
Math 对象不是构造函数,它具有数学常数和函数的属性和⽅法。跟数学相关的运算(求绝对值,取整、最⼤值等)可以使⽤ Math 中的成员。
| 属性、⽅法名 | 功能 |
Math.PI 圆周率
Math.floor() 向下取整
Math.abs() 绝对值
Math.max()/Math.min() 求最⼤和最⼩值
Math.random() 获取范围在[0,1)内的随机值
注意:上⾯的⽅法使⽤时必须带括号
获取指定范围内的随机整数:
function getRandom(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
1.4 ⽇期对象
Date 对象和 Math 对象不⼀样,Date是⼀个构造函数,所以使⽤时需要实例化后才能使⽤其中具体⽅法和属性。Date 实例⽤来处理⽇期和时间
- 使⽤Date实例化⽇期对象
- 获取当前时间必须实例化:
var now = new Date();
- 获取指定时间的⽇期对象
var future = new Date('2019/5/1');
注意:如果创建实例时并未传⼊参数,则得到的⽇期对象是当前时间对应的⽇期对象
- 使⽤Date实例的⽅法和属性
- 通过Date实例获取总毫⽶数
- 总毫秒数的含义
基于1970年1⽉1⽇(世界标准时间)起的毫秒数
- 获取总毫秒数
实例化Date对象
var now = new Date();
1. ⽤于获取对象的原始值
console.log(date.valueOf())
console.Time())
2. 简单写可以这么做
var now = + new Date();
3. HTML5中提供的⽅法,有兼容性问题
var now = w();
1.5 数组对象
创建数组的两种⽅式
-
字⾯量⽅式
- ⽰例代码如下:
var arr = [1,"test",true];
- new Array()
- ⽰例代码如下:
var arr = new Array();
注意:上⾯代码中arr创建出的是⼀个空数组,如果需要使⽤构造函数Array创建⾮空数组,可以在创建数组时传⼊参数参数传递规则如下:
- 如果只传⼊⼀个参数,则参数规定了数组的长度
- 如果传⼊了多个参数,则参数称为数组的元素
检测是否为数组
- instanceof 运算符
- instanceof 可以判断⼀个对象是否是某个构造函数的实例
var arr = [1, 23];
var obj = {};
console.log(arr instanceof Array); // true
console.log(obj instanceof Array); // false
- Array.isArray()
- Array.isArray()⽤于判断⼀个对象是否为数组,isArray() 是 HTML5 中提供的⽅法var arr = [1, 23];
var obj = {};
console.log(Array.isArray(arr)); // true
console.log(Array.isArray(obj)); // false
添加删除数组元素的⽅法
-
数组中有进⾏增加、删除元素的⽅法,部分⽅法如下表
注意:push、unshift为增加元素⽅法;pop、shift为删除元素的⽅法
数组排序
- 数组中有对数组本⾝排序的⽅法,部分⽅法如下表
注意:sort⽅法需要传⼊参数来设置升序、降序排序
- 如果传⼊“function(a,b){ return a-b;}”,则为升序sort函数 js
- 如果传⼊“function(a,b){ return b-a;}”,则为降序
数组索引⽅法
- 数组中有获取数组指定元素索引值的⽅法,部分⽅法如下表
数组转换为字符串
- 数组中有把数组转化为字符串的⽅法,部分⽅法如下表
注意:join⽅法如果不传⼊参数,则按照 “ , ”拼接元素
其他⽅法
- 数组中还有其他操作⽅法,同学们可以在课下⾃⾏查阅学习
1.6 字符串对象
基本包装类型
为了⽅便操作基本数据类型,JavaScript 还提供了三个特殊的引⽤类型:String、Number和 Boolean。
基本包装类型就是把简单数据类型包装成为复杂数据类型,这样基本数据类型就有了属性和⽅法。
下⾯代码有什么问题?
var str = 'andy';
console.log(str.length);
按道理基本数据类型是没有属性和⽅法的,⽽对象才有属性和⽅法,但上⾯代码却可以执⾏,这是因为
js 会把基本数据类型包装为复杂数据类型,其执⾏过程如下 :
1. ⽣成临时变量,把简单类型包装为复杂数据类型
var temp = new String('andy');
2. 赋值给我们声明的字符变量
str = temp;
3. 销毁临时变量
temp = null;
字符串的不可变
指的是⾥⾯的值不可变,虽然看上去可以改变内容,但其实是地址变了,内存中新开辟了⼀个内存空间。
当重新给字符串变量赋值的时候,变量之前保存的字符串不会被修改,依然在内存中重新给字符串赋值,会重新在内存中开辟空间,这个特点就是字符串的不可变。
由于字符串的不可变,在**⼤量拼接字符串**的时候会有效率问题
根据字符返回位置
字符串通过基本包装类型可以调⽤部分⽅法来操作字符串,以下是返回指定字符的位置的⽅法:
案例:查字符串"abcoefoxyozzopp"中所有o出现的位置以及次数
1. 先查第⼀个o出现的位置
2. 然后 只要indexOf 返回的结果不是 -1 就继续往后查
3. 因为indexOf 只能查到第⼀个,所以后⾯的查,利⽤第⼆个参数,当前索引加1,从⽽继续查
根据位置返回字符
字符串通过基本包装类型可以调⽤部分⽅法来操作字符串,以下是根据位置返回指定位置上的字符:
在上述⽅法中,charCodeAt⽅法返回的是指定位置上字符对应的ASCII码,ASCII码对照表如下:
案例:判断⼀个字符串 'abcoefoxyozzopp' 中出现次数最多的字符,并统计其次数
1. 核⼼算法:利⽤ charAt() 遍历这个字符串
2. 把每个字符都存储给对象, 如果对象没有该属性,就为1,如果存在了就 +1
3. 遍历对象,得到最⼤值和该字符
注意:在遍历的过程中,把字符串中的每个字符作为对象的属性存储在对象总,对应的属性值是该字符出现的次数字符串操作⽅法
字符串通过基本包装类型可以调⽤部分⽅法来操作字符串,以下是部分操作⽅法:
replace()⽅法
replace() ⽅法⽤于在字符串中⽤⼀些字符替换另⼀些字符,其使⽤格式如下:
字符串.replace(被替换的字符串, 要替换为的字符串);
split()⽅法
split()⽅法⽤于切分字符串,它可以将字符串切分为数组。在切分完毕之后,返回的是⼀个新数组。
其使⽤格式如下:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论