JavaScript(二)——数组、对象与JSON+for循环

JavaScript对象与JSON

内置对象

Date

/*Date*/
let date = new Date();
console.log(date.getDate());//一月中的日号
console.log(date.getDay());//一周中的日号
console.log(date.getFullYear());//年份
console.log(date.getYear());//从1900年开始算的年份
console.log(date.getMonth());//月,月是从0开始计数的,即1月在存储中的值是0
  1. Date();获取当前日期对象,也可以传入字符串参数如“2020-1-1 12:12:12”获取指定日期对象
  2. 获取当前年份用getFullYear,不是getYear
  3. 月份在存储时从0开始,若要获得当前月份应当+1
  4. getDate获取一个月的几号,getDay获取周几

Array

join 分割
//join
let arr = new Array('h','e','l','l','o',' ','w','o','r','l','d');
let arr2 = new Array(6);
arr2[0]=1;
console.log(arr.join(""));
console.log(arr2.join("*"));

在这里插入图片描述

join将数组中的元素提取出来通过符号分割(默认以逗号分割)并以字符串形式返回,对于空出长度会以分割符填补

concat 连接
//concat
let arr = new Array('1','2','3');
console.log(arr.concat(4,5));
console.log(arr.concat([4,5]));
console.log(arr.concat([4,5],6));
console.log(arr.concat([4,[5,6]]));

在这里插入图片描述

  1. 利用concat将两个数组连接或给数组追加元素,参数可以使元素或者数组,当参数中出现数组的嵌套时,内部的数组会被看作一个元素
  2. 不修改原数组
every和some
//every和some
let arr = new Array(1,2,3);
let bool = arr.every(x=>{
	return x===1;
})
console.log(bool);
let bool2 = arr.some(x=>{
	return x===1;
})
console.log(bool2);

在这里插入图片描述

  1. every相当与数学中的全称量词,只有全部元素都满足回调函数的条件时才返回true;some相当于数学中的存在量词,当有一个元素满足条件就返回true
    2.()=>{},箭头函数类似于lambda表达式
filter 过滤
//filter
let arr = new Array();
let arr2 = new Array();
for(let i=1;i<=10;i++){
	arr[i-1]=i;
}
arr2 = arr.filter(x=>{
	return x%2==0;
})
console.log(arr2);

数组过滤,满足返回满足条件的元素,并组成新数组

sort 排序
//sort
let arr = new Array();
for(let i=1;i<=10;i++){
		arr[i-1]=i;
}
arr.sort((a,b)=>b-a);//数字倒序
console.log(arr);
arr.sort((a,b)=>a-b);//数字正序
console.log(arr);
arr.sort();//字母表顺序
console.log(arr);

在这里插入图片描述

  1. 默认按照字母表排序,也可自定义函数排序
  2. undifined会在序列的最后
  3. 改变原来的数组
splice
//split
let arr = new Array();
for(let i=1;i<=10;i++){
	arr[i-1]=i;
}
arr.splice(0,6);//从索引为0出删除6个
console.log(arr);
arr[0]='a';
arr.splice('a',2);//从值为a处删除2个
console.log(arr);
arr.splice(0,0,1,2,3,4,5,6,7,8);//从索引为0处删除0个并插入元素
console.log(arr);

在这里插入图片描述

  1. splice第一个参数是删除的索引或者删除的值(当传入的第一个参数为数字时,只考虑索引,不考虑值)
  2. splice第二个参数时删除的元素的长度,当只执行插入操作时该参数设为0
  3. 第二个参数往后是将插入的值,从第一个参数指向的位置开始插入
  4. splice会改变原数组
  5. splice的返回

String

/*String*/
let str = new String();
str = "223456";
console.log(str.indexOf(2,1));//第一个参数为需要找的索引的值,第二个参数是起始点索引
console.log(str.substr(2,2));//第一个参数为提取的起点索引,第二个参数为切割的长度
console.log(str.substring(0,3));//第一个参数为提取的起点索引,第二个参数为切割的终点索引,终点不包含在内

在这里插入图片描述

  1. indexof作用是通过值来查找索引,第一个参数为待查找的值,第二个为查找起点索引,起点在查找范围内
  2. subst作用是提取字符串,第一个参数为提取起点索引,第二个参数为提取的字符长度,起点在提取范围内
  3. substring作用是提取字符串,第一个参数是提取起点索引,第二个是提取的终点索引,起点在提取范围内,终点不在提取范围内

JSON—JavaScript Object Notation

语法

属性使用双引号包含的对象

let student={
	"id":1,
	"name":'张三',
	"age":18
}
console.log(student);
let student2='{"id":1,"name":"张三","age":19}';
console.log(JSON.parse(student2));

JSON.parse可以将符合JSON格式的字符串转化为JSON对象

for循环

for…in

//遍历数组
let arr = new Array(1,2,3);
arr[3]=4;
arr['a']='b';
for(let i in arr){
	console.log(arr[i]);
}
//遍历对象
let student={
	id:1,
	name:'张三',
	age:18
}
for (let i in student) {
	console.log(i);
}

在这里插入图片描述

for…in遍历数组中的索引、对象中的键不推荐用for…in遍历数组

for…of

//遍历数组
let arr = new Array(1,2,3);
arr[3]=4;
arr['a']='b';
for (let i of arr) {
	console.log(i);
}

在这里插入图片描述

for…of遍历数组中的值,与Java中的for…in类似,但js中for…of只能遍历数组,不能遍历对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值