字符串方法、数组方法

一、字符串
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 );
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,386评论 6 479
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,939评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,851评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,953评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,971评论 5 369
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,784评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,126评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,765评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,148评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,744评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,858评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,479评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,080评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,053评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,278评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,245评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,590评论 2 343

推荐阅读更多精彩内容