js入门笔记后后续

字符串方法

var str = 'qwerasdzxc123';
var newStr = 'nt';
//	获取第一个字符
console.log(str[0]);

//	获取最后一个字符
console.log(str[str.length - 1]);

//	判断是否存在 newStr
console.log(str.indexOf(newStr));		//	-1 表示没有,有则返回 索引值

//	charAt()		返回第一个字符,参数为索引值,返回索引值下的字符
//	charCodeAt()	返回第一个字符的ASCII

//	replace(reg , newStr)	替换,reg为要替换内容,newStr 为替换后的内容,原字符没有变化
var res = str.replace('123','nt');		//	qwerasdzxcnt


//	slice(start,end)	截取字符串
var res = str.slice(3,-4);				//	rasdzx	负数则从后往前的索引值

//	substring(start,end)	截取字符串
var res = str.substring(3,-4);			//	qwe	
var res = str.substring(-3);			//	qwerasdzxc123

//	substr(start,length)	截取字符串长度
var res = str.substr(3,1);				//	r
var res = str.substr(3,-4);				//	空串
var res = str.substr(-3);				//	123		负数则从后往前的索引值


//	所有字母大写
var res = str.toUpperCase();
//	所有字母小写
var res = str.toLowerCase();

数组与字符串相互切换

var arr = ['aaa','bbb','ccc'];

//	toString()	将数组变为字符串,并返回
var res = arr.toString();			//	aaa,bbb,ccc

//	join()	将数组变为字符串,参数为替换内容
var res = arr.join(' ');			//	aaa bbb ccc

//	split()	将字符串分割,并返回数组	参数为分割符号,结果不显示
var newArr = res.split(',');		//	['aaa','bbb','ccc']

//	求字符串或数组中出现最多的元素以及出现次数
var arr = [1,2,1,2,3,4,1,2,3,4];
var obj = {};
for(var i in arr){
    var chr = arr[i];
    if(obj[chr]){
        obj[chr]++;
    }else{
        obj[chr] = 1;
    }
}
var count = 0;
var res = '';
for(var k in obj){
	if(obj[k] > count){
        count = obj[k];
        res = k;
    }
}
console.log(obj);
console.log(res + '元素出现了最多次,出现' + count + '次');

数组方法

添加数据

push()

从数组 尾部 添加数据,参数为被添加的元素

arr.push(‘尾部添加’);

arr[arr.length] = ‘尾部添加’; // 利用数组长度添加

unshift()

从数组 头部 添加数据,参数为被添加的元素

arr.unshift(‘从头部添加’)

删除数据

pop()

从尾部 删除 数据,长度 -1

var res = arr.pop(); // 返回值为被删内容

shift()

从头部 删除 数据,长度 -1

var res = arr.shift(); // 返回值为被删内容

删除替换数据 splice()

一个参数,表示从索引值开始,删除后面的所有元素 index

两个参数,表示从索引值开始,删除几个元素 index,length

三个或 n 个参数,表示从索引值开始,删除,替换或者是插入内容,当 length 为 0 时,是插入内容,为 1 是,删除或替换 index,length,item

合并数组 concat()

合并数组,并返回合并后的结构

返回的长度为合并之后长度之和

arr = arr.concat(arr1,arr2);

颠倒数组 reverse()

将数组顺序颠倒

var newArr = arr.reverse();

遍历数组 forEach()

遍历数组,参数为回调函数

arr.forEach( function ( item , index) {

​ console.log( index ); // 返回索引值

​ console.log( item ); // 返回数组元素

})

数组排序 sort()

arr.sort( function( x, y){

​ return x - y; // x-y 从小到大

​ // y-x 从大到小

})

console.log(arr);

判断数组中存在某个元素

indexOf()
lastIndexOf()

返回值为 -1 则数组中没有这个元素,反之 返回元素所在索引值

参数为要找的数据

数组过滤 filter()

var res = [];
var res = arr.filter(function(item,index){
    console.log(item);		//	数组元素
    console.log(index);		//	数组索引
    
    //	return 将满足条件的元素添加到 res 中
    return item.age > 33;
})
console.log(res);

数组迭代 entries()

返回一个对象,可以检测数组是否被迭代运行完成

var arr = ['11',12,21];
var res = arr.entries();
console.log(res.next());	//	查看每次迭代更新
console.log(res.next());

find()

查找数组中是否有某个元素

有则返回第一个被查到的元素

没有则返回 undefined

var arr = [1,23,41,2,3,4]
var res = arr.find(function(item,index){
    return item > 10;
})
console.log(res);	//	可以返回被查到的元素值

findIndex()

判断数组中是否有某个元素

若没有返回 -1 ,若有,返回第一个元素对应的 索引值

var arr = [1,2,3];
var res = arr.findIndex(function(item,index){
    return item == 2;
});
//	等同于 indexOf
var res1 = arr.indexOf(2);
console.log(res)

map()

回调函数中运算的新数组,可以实现 【深拷贝】

var arr = [1,2,3,4,1,2,3,12,3];
var res = arr.map(function(item){
    console.log(item);
    return item;
})
res.push('ss');
console.log(res);	//	[1,2,3,4,1,2,3,12,3,'ss']
console.log(arr);	//	[1,2,3,4,1,2,3,12,3]

//	浅拷贝	一个改变另一个也会改变
var arr1 = [];
var res1 = arr1;
res1.push('aa');
console.log(res1);	//	['aa']
console.log(arr1);	//	['aa']

数组去重

indexOf() 去重
function checkArr(arr){
    var newArr = [];
    for(var i = 0; i < arr.length; i++){
        if(newArr.indexOf(arr[i]) == -1){
            newArr.push(arr[i]);
        }
    }
    console.log(newArr);
}
checkArr([1,2,1,3,1,2,12,31,33,1,2,1,2])
splice() 去重
function checkArr(arr){
    for(var i = 0; i < arr.length; i++){
        for(var j = i + 1; j < arr.length; j++){
			if(arr[i] == arr[j]){	//	利用两个循环,后一位依次与前一位比较,相同则删除
                arr.splice(j,1);
                j--;				//	重新比较,防止遗漏
            }
        }
    }
    console.log(arr)
}
checkArr([1,2,3,2,1,4,12,3,3,1,2]);

你可能感兴趣的:(js入门笔记后后续)