一、字符串
1.字符串的定义/声明方式
var str1 = "123"; //字面量/直接量
var str2 = String(); //构造函数
var str3 = new String(); //包装对象
2.charAt 返回指定下标
console.log(str[0]); //不兼容IE7及其以下
console.log(str.charAt(3)); //兼容IE7及其以下
3.concat 字符串的拼接方法
console.log(str.concat(str2,'123')); //可以多次进行拼接,后面用逗号来隔开
4.indexOf 匹配检索到的内容的下标(从左往右匹配),如果说匹配不到的话,返回-1;
lastIndexOf 匹配检索到的内容的下标(从右往左匹配),如果说匹配不到的话,返回-1;
// console.log( str2.indexOf('1') );//匹配到第几个下标;
// console.log( str2.indexOf( '1', 4 ) ) //从下标为几的开始进行匹配;
// console.log( str2.lastIndexOf( '1' ) );//从右往左进行匹配,下标是从左往右进行匹配;
5.charCodeAt 返回索引指定的ascII编码表的字符串;
fromCharCode 返回ascII编码表的字符串
//console.log(str.charCodeAt(1));
//console.log(String.fromCharCode(53,50,48));
6.substring( 下标,下标 ) 截取字符串( 匹配前面不匹配后面 )【通过下标】
substr( 下标,length ) 截取字符串( 匹配字符串的长度 )【通过长度来匹配】
slice( ) 截取字符串
//console.log(str.substring(0,2)); //[0,2)
//console.log(str.substr(0,7));
//console.log(str.slice(0,-1);
7.toLocaleUpperCase() 小写转大写
toLocaleLowerCase() 大写转小写
//console.log(str.toLocaleUpperCase());
//console.log(str.toLocaleLowerCase());
8.match 查找指定的内容,返回匹配的值,未找到,返回null,input返回出来的值为母串;
search 匹配字符串出现的位置,未找到返回-1;
//console.log(str.match("X"));
//console.log(str4.search('4'));
9.split 切割
//console.log(str.split());//字符串转为数组
//console.log(str.split("")); //以空字符来进行切割,返回每一个字符
//console.log(str.split("L")); //以引号引起来的内容进行切割
10.replace 替换
//var str = "zsf"
//var str1 = str.replace("zs","ls");
二、数组
1.数组的定义/声明;
var arr = []; //字面量
var arr2 = Array(); //构造函数
var arr3 = new Array(); //包装对象
//console.log(arr.length);
//console.log(arr[2]); //能取值
//console.log(arr[2] = 1); //也能改值,可读可写
2.push 向数组的尾部添加一个元素或多个元素
//console.log(arr.push('123','456')); //返回新的长度
3.pop 在数组的尾部删除一个元素或多个元素
//console.log(arr.pop()); //返回的是删除的对象
4.delete element 删除对象,但是会保存位置,里面的值变为empty
//delete arr[arr.length - 1];
5.unshift 向数组的头部添加一个元素或多个元素
// console.log(arr.unshift('123','456')); //返回的是新的长度
6.shift 向数组的头部删除一个元素
//console.log(arr.shift()); //返回的是删除的对象
7.concat 数组拼接
//console.log(arr.concat(arr1)); //数组拼接
8.join 数组转换为字符串
//console.log(arr.join(''));
//console.log(arr.join(','));
//console.log(arr.join(''-"));
9.indexOf 查找数组里的数据
lastindexOf 同理(字符串的用法)
//console.log(arr.indexOf("c"));
//console.log(arr.indexOf("c",3));
//console.log(arr.indexOf([123])); //找不到,因为内存地址不一致
10.reverse() 倒序
//var arr = [5,2,0,1,3,1,4];
//arr.reverse();
//console.log(arr);
11.slice() 切割
//var arr = [5,2,0,1,3,1,4];
//var arr1 = arr.slice('0', 6);
//console.log(arr1);
console.log(arr);
12.Array.isArray() 判断是否为数组
//console.log(Array.isArray(arr));
13.splice() 修改数组
删除数组
(下标【从哪开始切】,删除内容,增加内容)
当删除内容为零,不改变
当删除内容跟增加的内容相同,会被替换
var arr = [5,2,0,1,3,1,4];
// var arr1 = arr.splice( 3 , 2 ); //3为下标,2为长度;
// console.log( arr1 ) //返回值是切出来的值;
// console.log( arr ); //原串有发生改变;
// var arr2 = arr.splice( 3 , 0 );//没有进行切割
// console.log( arr2 );
// console.log( arr )
// var arr3 = arr.splice( 3 , 2 , 'zs' );
// console.log( arr3 );
// console.log( arr )
// var arr4 = arr.splice( 3 , 1 , 'zs','ls' );
// console.log( arr4 );
14.sort()
value > 0;倒序 value <= 0;升序 a-b>0 降序 a-b<0 升序
var arr = [5,2,0,1,3,1,4];
var arr1 = arr.sort();//默认从小到大来排序
// arr.sort(function( a , b ){
// return a - b ;
// })
// console.log( arr )
15.map() //映射
var arr = [2018,8,13,888,999];
var arr1 = arr.map( function( value , index , arrself ){
//console.log( value ); //value; 属性值
//console.log( index); //index 下标
//console.log( arrself ); //arrself 原数组
return value*2;
});
console.log( arr1 );
console.log( arr );
16.forEach 用来处理数组里的每一项;底层定义好,高级函数,IE低版本不支持
var oBox = document.getElementsByClassName('box');
var arr = [ oBox[0],oBox[1],oBox[2],oBox[3] ];
console.log( arr[0] )
arr.forEach(function( value , index , arrself ){
value.onclick = function(){
alert( index )
}
})
17.数组倒序去重
var arr = ['zs','ls','zs','zs','we','ls'];
for( var i = arr.length - 1 ; i >= 0;i -- ){ //总长度
for( var j = i - 1; j >=0 ; j-- ){ //比总长度小一截(字符)
if( arr[i] ===arr[j] ){
arr.splice( i , 1 );
}
}
}
console.log( arr );