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 + '次');
从数组 尾部 添加数据,参数为被添加的元素
arr.push(‘尾部添加’);
arr[arr.length] = ‘尾部添加’; // 利用数组长度添加
从数组 头部 添加数据,参数为被添加的元素
arr.unshift(‘从头部添加’)
从尾部 删除 数据,长度 -1
var res = arr.pop(); // 返回值为被删内容
从头部 删除 数据,长度 -1
var res = arr.shift(); // 返回值为被删内容
一个参数,表示从索引值开始,删除后面的所有元素 index
两个参数,表示从索引值开始,删除几个元素 index,length
三个或 n 个参数,表示从索引值开始,删除,替换或者是插入内容,当 length 为 0 时,是插入内容,为 1 是,删除或替换 index,length,item
合并数组,并返回合并后的结构
返回的长度为合并之后长度之和
arr = arr.concat(arr1,arr2);
将数组顺序颠倒
var newArr = arr.reverse();
遍历数组,参数为回调函数
arr.forEach( function ( item , index) {
console.log( index ); // 返回索引值
console.log( item ); // 返回数组元素
})
arr.sort( function( x, y){
return x - y; // x-y 从小到大
// y-x 从大到小
})
console.log(arr);
返回值为 -1 则数组中没有这个元素,反之 返回元素所在索引值
参数为要找的数据
var res = [];
var res = arr.filter(function(item,index){
console.log(item); // 数组元素
console.log(index); // 数组索引
// return 将满足条件的元素添加到 res 中
return item.age > 33;
})
console.log(res);
返回一个对象,可以检测数组是否被迭代运行完成
var arr = ['11',12,21];
var res = arr.entries();
console.log(res.next()); // 查看每次迭代更新
console.log(res.next());
查找数组中是否有某个元素
有则返回第一个被查到的元素
没有则返回 undefined
var arr = [1,23,41,2,3,4]
var res = arr.find(function(item,index){
return item > 10;
})
console.log(res); // 可以返回被查到的元素值
判断数组中是否有某个元素
若没有返回 -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)
回调函数中运算的新数组,可以实现 【深拷贝】
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']
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])
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]);