JS一些常用的语法

你有多久没有静下心来看一下基础了?

JS一些常用的语法

length
返回数组的长度;
如果更改数组的长度,那么数组会从为尾部进行相应调整来满足更改
1、更改的长度小于原长度,截取后面多余的元素。
2、更改的长度大于原长度,从尾部增加相应的空值。
通过索引进行赋值,实际上也是一种更改length的操作,当更改的下标超出了length的长度,数组也会补充相应的空值

var arr = [1, 2, 3.14, 'Hello', null, true];
console.log(arr.length);//6
arr.length = 3;
console.log(arr);//从尾递减[1, 2, 3.14]
arr.length = 10;
console.log(arr);//[ 1, 2, 3.14, <7 empty items> ]

arr = [1, 2, 3];
arr[5] = 'x';
console.log(arr);//通过索引赋值,如果超了范围,会引起数组大小的变化,[ 1, 2, 3, <2 empty items>, 'x' ]

indexOf
返回指定元素的下标,没如果没有该元素,就会返回-1,注意元素的类型,字符类型和整数类型的区别。

var arr = [10, 20, '30', 'xyz'];
console.log(arr.indexOf(10));//0
console.log(arr.indexOf(30));//无30,返回-1
console.log(arr.indexOf('30'));//2

slice
JS中的切片,传入两个元素,第一个是切片开始的位置,元素下标,第二个为切片结束的位置,元素的下标,如果该参数大于数组length,那么视为到结尾;返回值为切片内的元素,如果只有一个参数,那么这个参数为数组切片开始的下标,终点在数组末尾;如果没有参数,那么将整个数组作为切片内容,有点儿copy的意思。

ar arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
arr.slice(0,3);
console.log(arr);
console.log(arr.slice(0,3));//从序号开始切片
console.log(arr.slice(4,10));//[ 'E', 'F', 'G' ]
console.log(arr.slice(3))//只有一个元素,则从该序号向后
console.log(arr.slice());
var aCopy = arr.slice();
console.log(arr === aCopy);//false

push
从数组尾部插入元素,返回该数组更新后的length。

var arr = [1,2];
arr.push(3);
console.log(arr.push(2));//返回长度 4

pop
从数组尾部删除元素,返回删除的该元素。如果该数组为空,则返回[]

var arr = [1,3];
console.log(arr.pop());//3
arr.pop();
console.log(arr);//空[]

unshift

从数组头部插入元素,返回更新后数组的length

var arr = [1, 2];
arr.unshift('A', 'B');
console.log(arr);//从头添加元素[ 'A', 'B', 1, 2 ]
console.log(arr.unshift('C'));//返回长度 5

shift
从数组头部删除元素,返回删除的元素。如果数组为空则返回undefined

var arr = [1, 3];
arr.shift();
console.log(arr);//去掉第一个元素,3
console.log(arr.shift());//返回去掉的元素 3
console.log(arr.shift());//undefined

sort
排序,按照正序排列,返回排序完的数组

var arr = ['B', 'C', 'A'];
arr.sort();
console.log(arr.sort());//同上

reverse
将数组倒序排列,反转,返回倒序的数组

var arr = ['one', 'two', 'three'];
arr.reverse();
console.log(arr.reverse());//反转 同上

splice
更新数组,传入最多三个参数,第一个参数是从指定元素下标开始,第二参数是删除几个元素,第三个参数是在删除的位置增加相应的元素。如果之传入一个参数,那么从该下标开始到数组结尾全部删除;如果传入两个参数,则只进行删除操作,其余的不会进行操作。返回值为删除的元素。

var arr = ['Microsoft', 'Apple', 'Yahoo', 'AOL', 'Excite', 'Oracle'];
//arr.splice(2, 3, 'Google', 'Facebook');
//arr.splice(2);//从序号为2开始到后全删
//arr.splice(2, 3);//删除后不会补充
//arr.splice(2, 'Google');//不会进行操作
//console.log(arr);//从序号为2的元素开始删除3个元素,然后在该位置增加后面的元素
//console.log(arr.splice(2, 3, 'Google', 'Facebook'));//删除的几个元素
console.log(arr.splice(2,0,'Google'));//[]没有删除的元素

concat
合并两个数组,对于原数组不会产生影响。

var arr = ['A', 'B', 'C'];
var added = arr.concat([1,2,3]);
console.log(added);//合并两个数组,原数组不会受到影响
var brr = [1, 2, 3];
var added1 = arr + brr;
console.log(added1);
var arr = ['A', 'B', 'C'];
console.log(arr.concat(1, 2, [3, 4]));//[ 'A', 'B', 'C', 1, 2, 3, 4 ]
console.log(arr);//无影响

join
只有一个参数,传入一个字符作为参数,将数组转化为以该字符连接的字符串,对原数组无影响

var arr = ['A', 'B', 'C', 1, 2, 3];
arr.join('-');
console.log(arr);
console.log(arr.join('-'));//返回连接的字符串
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值