js内置对象数组与字符串讲解

61 阅读1分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第17天,点击查看活动详情

数组

//检测是否为数组

instanceof 运算符 可以用来检测是否为数组

arr instanceof Array

Array.isArray(arr) //ie9以上才支持

arr.unshift(参数) //在数组的开头,添加一个或者多个数组元素

arr.pop() //删除数组的最后一个元素,返回的结果是删除的元素

arr.shift() //删除数组的第一个元素

arr.reverse();

arr.sort(function (a,b) {

return a-b;//升序排列

return b-a//降序排列

});

//返回数组索引号的方法,只返回第一个满足条件的索引号,没有返回-1

arr.indexof('blue');

//从后往前查找,返回数组索引号

arr.lastIndexof('blue);

//数组转为字符串

arr.toString()

arr.join('分割符');

 

数组去重

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;

}

 

字符串

字符串的不可变性索引不要大量拼接字符串

str.indexof('要查找的字符',[起始的位置]);

lastIndexof() //从后往前找,只找第一个字符出现的位置

charAt(index) //根据位置返回字符

charCodeAt(index) //根据位置返回字符的ASCII码(index为索引号)//判断用户按下哪个键

str[index] //h5新增的,ie8支持,和charAt()等效 根据位置获取字符

concat();

sunstr('截取的位置', '截取几个字符');

slice();

sunstring();

replace('替换的字符','被替换的字符'); //替换字符,只替换一个字符

split() //字符串转换为数组

toUpperCase() //转换为大写

toLowerCase() //转换为小写

 

 

 

查找字符串出现的位置以及次数

var index = str.indexof('o');

var num = 0;

while(index !== -1) {

console.log(index);

num++;

index = str.indexof('o', index + 1);

}

console.log('o出现的次数是' + num);

 

判断字符串中出现最多的字符,并统计次数

//把每个字符都存储给对象,如果对象没有该属性,就为1,如果存在了就在+1

//遍历对象, 得到最大值和该字符

 

var o = {};

for(var i = 0; i < str.length; i++) {

var chars = str.charAt(i);

if(o[chars]) {

o[chars]++;

} else {

o[chars] = 1;

}

}

var max = 0;

var ch = ''; //最多的字符

for(var k in o) {

if(o[k] > max) {

max = o[k];

ch = k;

}

}

 

null 简单数据类型,返回的是一个空对象 object

//如果有一个变量打算存储为对象,没有想好放什么,这个时候就给null

var timer = null;