数组对象和字符串对象超全解析!
一.数组对象
1.数组类型检测
数组类型检测有两种常用的方式,分别是使用instanceof运算符和使用Array.isArray()方法。
示例代码:
var arr=[];
var obj={};
console.log(arr instanceof Array);
console.log(obj instanceof Array);
console.log(Array.isArray(arr))
console.log(Array.isArray(obj))
2.添加或删除数组元素
方法表:
注意:push()和unshift()方法的返回值是新数组的长度,而pop()和shift()方法返回的是移出的数组元素
示例代码:
var arr=['pink','black','white','yellow']
console.log(arr.push('red'));
console.log(arr);
var arr=['pink','black','white','yellow']
console.log(arr.unshift('red','blue'));
console.log(arr);
var arr=['pink','black','white','yellow']
console.log(arr.pop());
console.log(arr);
var arr=['pink','black','white','yellow']
console.log(arr.shift());
console.log(arr);
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);
4.数组排序
方法表:
示例代码:
var arr=['red','green','blue'];
arr.reverse();
console.log(arr);
var arr1=[13,4,77,1,7];
arr1.sort(function(a,b){
return b-a;
});
console.log(arr1);
注意:
reverse()和sort()方法的返回值是排序后的数组
sort如果调用该方法时没有使用参数,按照字符编码的顺序进行排序
ASCII字符代码表:
5.数组索引
方法表:
示例代码:
var arr=['red','green','blue','pink','blue'];
console.log(arr.indexOf('blue'));
console.log(arr.lastIndexOf('blue'));
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);
7.数组转换为字符串
方法表:
示例代码:
var arr=['a','b','c'];
console.log(arr.toString());
console.log(arr.join());
console.log(arr.join(''));
console.log(arr.join('-'));
8.其他方法
方法表:
slice()和concat()方法在执行后返回一个新的数组,不会对原数组产生影响,剩余的方法在执行后皆会对原数组产生影响
示例代码(以fill()方法为例):
const array1 = [1, 2, 3, 4];
console.log(array1.fill(0, 2, 4));
console.log(array1.fill(5, 1));
console.log(array1.fill(6));
二.字符串对象
1.字符串对象的使用
字符串对象使用new String()来创建,在String构造函数中传入字符串,就会在返回的字符串对象中保存这个字符串。
示例代码:
var str=new String('apple');
console.log(str);
console.log(str.length);
2.根据字符返回位置
方法表:
示例代码:
var str='HelloWorld';
str.indexOf('o');
str.lastIndexOf('o');
3.根据位置返回字符
方法表:
示例代码:
var str='Apple';
console.log(str.charAt(3));
console.log(str.charCodeAt(0));
console.log(str[0]);
4.字符串操作方法
方法表:
示例代码:
var str='HelloWorld';
str.concat('!');
str.slice(1,3);
str.substr(5);
str.substring(5,7)
str.toLowerCase();
str.toUpperCase();
str.split('l');
str.split('l',3);
str.replace('World','!');