javaScript学习笔记分享3

322 阅读3分钟

1.数组对象

instanceof 运算符,可以判断一个对象是否属于某种类型

Array.isArray()用于判断一个对象是否为数组

isArray() 是 HTML5 中提供的方法

ar arr = [123];

    var obj = {};

    console.log(arr instanceof Array); // true

    console.log(obj instanceof Array); // false

    console.log(Array.isArray(arr)); // true

console.log(Array.isArray(obj)); // false

2.添加删除数组元素方法

图片.png

1.push()往数组尾追加元素

let arr = [123];

    console.log(arr.push(4'哈哈哈')); //输出5

    console.log(arr); //输出[1,2,3,4,哈哈哈]

2.unshift()往数组头追加元素

let arr = [123];

    console.log(arr.unshift(4'哈哈哈')); //输出数组长度5

    console.log(arr); //输出[4,"哈哈哈",1,2,3]

3.pop()删除数组尾最后一个元素

let arr = [123];

    console.log(arr.pop()); //输出被删除元素

    console.log(arr); //输出[1,2]

3.数组排序

图片.png

let arr = [123];

    arr.reverse();

    console.log(arr); //输出[3,2,1]

 

 let arr1 = [4116835];

    //arr1.sort(); //默认升序,单单这样写可能会出现问题[ 1, 3, 41, 5, 6, 8 ]

    arr1.sort(function(a, b) {

        // return b - a; // 降a序

        return a - b; // 升序

    });

 

    console.log(arr1); //[ 1, 3, 5, 6, 8, 41 ]

4.数组索引

图片.png

let arr = [123'我'];

    console.log(arr.indexOf('我')); //输出3  从前往后查找

    console.log(arr.lastIndexOf('我'));//输出3 从后往前查找


5.数组转字符串

图片.png

6.数组删除操作

图片.png

1.进行插入操作但不删除元素(第二个参数为0)

var fruits = ["Banana", "Orange", "Apple", "Mango"];\
fruits.splice(2,0,"Lemon","Kiwi");
//输出Banana,Orange,Lemon,Kiwi,Apple,Mango

2.进行插入操作但并删除元素(第二个参数不为0)

var fruits = ["Banana", "Orange", "Apple", "Mango"];\
fruits.splice(2,1,"Lemon","Kiwi");
//输出Banana,Orange,Lemon,Kiwi,Mango

7.基本包装类型

为了方便操作基本数据类型,JavaScript 还提供了三个特殊的引用类型:String、Number和 Boolean。 基本包装类型就是把简单数据类型包装成为复杂数据类型,这样基本数据类型就有了属性和方法。

var str = 'andy';

  console.log(str.length);

 按道理基本数据类型是没有属性和方法的, 而对象才有属性和方法, 但上面代码却可以执行, 这是因为 js 会把基本数据类型包装为复杂数据类型, 其执行过程如下:

    // 1. 生成临时变量,把简单类型包装为复杂数据类型

    var temp = new String('andy');

    // 2. 赋值给我们声明的字符变量

    str = temp;

    // 3. 销毁临时变量

    temp = null

8.查找某个字符出现的位置和次数

let str = "bvafsabbadabadb";

    let index = str.indexOf('b');

    let num = 0;

    let arr1 = [];

    while (index !== -1) {

        //console.log(index);

        arr1.push(index);

        num++;

        index = str.indexOf('b', index + 1) //从当前位的下一位开始查找

    }

    console.log('b出现的位置为' + arr1.join(','));

console.log('b出现的次数为' + num);

9.查找字符串中出现最多的字符(使用Object方法)

let o = {};

    for (let index = 0; index < str.length; index++) {

        const element = str[index];

        if (o[element]) {

            o[element]++;

        } else {

            o[element] = 1;

        }

 

    }

    console.log(o);

    o[0] = 0;

    var max = 0;

    let ch = '';

    for (var k in o) {

        //console.log(k);

        //console.log(o[max]);

 

        if (o[k] > o[max]) {

            console.log(max);

            max = o[k];

            console.log(max);

            ch = k;

        }

    }

    

    console.log('最多的字符是' + ch + '一共出现了' + max + '次');

    //最多的字符是s一共出现了6次

10.根据位置返回字符

图片.png

11.字符串操作

图片.png

1.concat('str1','str2'....)

    let str = 'andy';

    console.log(str.concat('das')); //andydas
    

2.substr('截取的起始位置','截取几个字符')

 

    let str1 = "握手吧小伙子"


    console.log(str1.substr(2, 2)); //吧小

 

3.字符串转数组split('分隔符')   与之相对的数组转字符串join()

    let str2 = '我&是&一个&字符串';

    console.log(str2.split('&'));

 

4.替换字符replace('被替换的字符','替换为字符')

  let str4 = '替换替换替换';

    //把所有的替变为“@”

    while (str4.indexOf('替') != -1) {

        str4 = str4.replace('替', '@');

    }

   console.log(str4);//@换@换@换

11.字符串大小写转换

let str = "Where are you?"

    console.log(str.toUpperCase());  //WHERE ARE YOU?

    console.log(str.toLowerCase());  //where are you?