数组对象和字符串对象超详细解析!

数组对象和字符串对象超全解析!

一.数组对象

1.数组类型检测

数组类型检测有两种常用的方式,分别是使用instanceof运算符和使用Array.isArray()方法。
示例代码:
var arr=[];
var obj={};
//第一种方式
console.log(arr instanceof Array);//true
console.log(obj instanceof Array);//false
//第二种方式 
console.log(Array.isArray(arr))//true
console.log(Array.isArray(obj))//false

2.添加或删除数组元素

方法表:

在这里插入图片描述

注意:push()和unshift()方法的返回值是新数组的长度,而pop()和shift()方法返回的是移出的数组元素
示例代码:
//push
var arr=['pink','black','white','yellow']
console.log(arr.push('red'));//返回数组长度,输出结果5
console.log(arr);//修改了原来的数组,输出结果为['pink','black','white','yellow','red']
//unshift
var arr=['pink','black','white','yellow']
console.log(arr.unshift('red','blue'));//返回数组长度,输出结果6
console.log(arr);//修改了原来的数组,输出结果为['red','blue',pink','black','white','yellow']
//pop
var arr=['pink','black','white','yellow']
console.log(arr.pop());//返回删除的元素,输出结果为yellow
console.log(arr);//修改了原来的数组,输出结果为[pink','black','white']
//shift
var arr=['pink','black','white','yellow']
console.log(arr.shift());//返回删除的元素(第一个),输出结果为pink
console.log(arr);//修改了原来的数组,输出结果为['black','white','yellow']

3.筛选数组

案例:要求在包含工资的数组中,剔除工资达到2000或以上的数据,把小于2000的数重新放到新的数组里面。其中数组为[1500,1200,2000,2100,1800]。
示例代码:
var arr=[1500,1200,2000,2100,1800];
var newArr=[];
for(var i=0;i<arr.length;i++){
    if(arr[i]<2000){
        newArr.push(arr[i]);
    }
}
console.log(newArr);//输出结果[1500,1200,1800]

4.数组排序

方法表:

在这里插入图片描述

示例代码:
//反转数组
var arr=['red','green','blue'];
arr.reverse();
console.log(arr);//输出结果:["blue","green","red"]
//数组排序
var arr1=[13,4,77,1,7];
arr1.sort(function(a,b){
    return b-a;//降序
});
console.log(arr1);//输出结果:[77,13,7,4,1]
注意:
reverse()和sort()方法的返回值是排序后的数组
sort如果调用该方法时没有使用参数,按照字符编码的顺序进行排序
ASCII字符代码表:

在这里插入图片描述

5.数组索引

方法表:

在这里插入图片描述

示例代码:
var arr=['red','green','blue','pink','blue'];
console.log(arr.indexOf('blue'));//输出结果:2
console.log(arr.lastIndexOf('blue'));//输出结果:4

6.案例:数组去除重复元素

要求在一组数据中,去除重复的元素。其中数组为[‘blue’,‘green’,‘blue’]
function unique(arr){
    var newArr=[];
    for(var i=0;i<arr.length;i++){
        if(newArr.indexOf(arr[i])===-1){
            newArr.push(arr[i]);
        }
    }
    return newArr;
}
var demo=unique(['blue','green','blue']);
console.log(demo);//输出结果:["blue","green"]

7.数组转换为字符串

方法表:

在这里插入图片描述

示例代码:
//使用toString()
var arr=['a','b','c'];
console.log(arr.toString());//输出结果:a,b,c
//使用join()
console.log(arr.join());//输出a,b,c
console.log(arr.join(''));//输出abc
console.log(arr.join('-'));//输出a-b-c

8.其他方法

方法表:

在这里插入图片描述

slice()和concat()方法在执行后返回一个新的数组,不会对原数组产生影响,剩余的方法在执行后皆会对原数组产生影响
示例代码(以fill()方法为例):
const array1 = [1, 2, 3, 4];
// 填充0,从数组索引2(包含)开始到4(不包含)结束
console.log(array1.fill(0, 2, 4));// 输出结果为: Array [1, 2, 0, 0]
// 填充5,从数组索引1(包含)开始
console.log(array1.fill(5, 1));// 输出结果为: Array [1, 5, 5, 5]
// 填充6
console.log(array1.fill(6));// 输出结果为: Array [6, 6, 6, 6]

二.字符串对象

1.字符串对象的使用

字符串对象使用new String()来创建,在String构造函数中传入字符串,就会在返回的字符串对象中保存这个字符串。
示例代码:
var str=new String('apple');//创建字符串对象
console.log(str);//输出:String{"apple"}
console.log(str.length);//获取字符串长度,输出结果:5

2.根据字符返回位置

方法表:

在这里插入图片描述

示例代码:
var str='HelloWorld';
str.indexOf('o');//获取“o"在字符串中首次出现的位置,返回结果:4
str.lastIndexOf('o');//获取“o"在字符串中最后出现的位置,返回结果:6

3.根据位置返回字符

方法表:

在这里插入图片描述

示例代码:
var str='Apple';
console.log(str.charAt(3));//输出结果:l
console.log(str.charCodeAt(0));//输出结果:65(字符A的ASCII码为65)
console.log(str[0]);//输出结果:A

4.字符串操作方法

方法表:

在这里插入图片描述

示例代码:
var str='HelloWorld';
str.concat('!');//在字符串末尾拼接字符,结果:HelloWorld!
str.slice(1,3);//截取从位置1开始到位置3范围内的内容,结果el
str.substr(5);//截取从位置5开始到最后的内容,结果World
str.substring(5,7)//截取从位置5开始到7的内容,结果Wo
str.toLowerCase();//将字符串转换为小写,结果:helloworld
str.toUpperCase();//将字符串转换为大写,结果:HELLOWORLD
str.split('l');//使用l切割字符串。结果:["He","","oWor","d"]
str.split('l',3);//限制最多切割3次,结果:["He","","oWor"]
str.replace('World','!');//替换字符串,结果:"Hello!"
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值