JS中的数组,对象,字符串常用的方法

JS中的数组,对象,字符串常用的方法

  • 数组的常用方法:
    var arr =[1,2,3,4,5];
    arr[0] arr[arr.length-1]//通过下标找到数组中指定的元素,访问数组的元素
    arr.join(“-“) //数组转成字符串
    arr.toString() //数组转成字符串
    arr.push(6); //向后添加,返回新数组个数 ,原数组是添加后的数组
    arr.pop(); //从后删除,返回删除的元素
    arr.unshift(); //向前添加,返回个数
    arr.shift(); //从前删除,返回删除的元素
    arr.reverse();//反转数组
    arr.sort();//排序
    arr.slice();拷贝,生成新的数组
    arr.splice()//截取
    arr.concat();//拼接,合并
    arr.indexOf();//寻找数组中的元素的索引,没有返回-1;
    arr.lastIndexOf();//从数组最后找
    arr.length=0;//清空数组
    arr.splice(0,arr.length)//清空数组
    arr=[];//清空数组
    typeof(arr) //判断是否是数组
    Math.max.apply(null,arr)或 Math.max(…arr)//找到数组中的最大值
    Math.min.apply(null,arr)或 Math.min(…arr) //找到数组中的最小值
    数组与其他值的运算(使用”+”会自动转为string,”-“会自动转为number)
    arr2=[…arr1] // 数组赋值(对象扩展运算符的写法)
    […arr1, …arr2, …arr3] //合并数组
    // ES5
    var arr1 = str.split(”); // [ “h”, “e”, “l”, “l”, “o” ] ////字符串转化成数组
    // ES6
    var arr2 = […str]; // [ “h”, “e”, “l”, “l”, “o” ] //字符串转化成数组
    数组去重:
    方法一:
    let arr1=[1,2,1,2,6,3,5,69,66,7,2,1,4,3,6,8,9663,8]
    let set = new Set(arr1);
    console.log(set) // {1,2,6,3,5,69,66,7,4,8,9663,8]

    方法二:
    Array.from();Array.of() //转换成数组并去重
    数组迭代:
    filter:
    var arr=[1,3,6,8,45,34,90,122,9,0];
    var array = arr.filter(function(element){
    return element>10
    })
    console.log(array)

    //筛选数组中大于10的值, [45, 34, 90, 122]
    //查看原数组,并没有改变
    console.log(arr) // [1,3,6,8,45,34,90,122,9,0]
  • 字符串的常用方法:
    var str = “hello world”;
    str[0];//通过下标找到字符串指定位置的字符
    str.toUpperCase() //转大写
    str.toLowerCase() //转小写
    str.indexOf() //寻找字符串中的元素,是否存在某个字符串,没有返回-1;
    str.lastIndexOf() // 返回指定值在调用该方法的字符串中最后出现的位置,如果没找到则返回-1
    str.concat() // 拼接,合并
    str.slice(beginSlice,endSlice) // 返回被操作字符的子字符串,第一个参数为开始位置,第二个参数为结束位置,前包后不包(不改变原字符串)
    str.substring() //
    str.substr() //返回指定位置开始的指定长度的字符串
    str.split() //分隔符将一个字符串分割成多个字符串,转化成数组
    str.trim() //删除元素前置及后缀的所有空格
    str.repeat(count) // 构造并返回一个新字符串,该字符串是循环完成后的新字符串(不能为-1)”abc”.repeat(0) // “” “abc”.repeat(1) // “abc” “abc”.repeat(2) // “abcabc”
    str.startsWith(“str”) //检测字符串是不是以“str”开头的,根据判断返回true,false
    str.endsWith(“str”) //是不是以“str”结尾的
    str.includes(“aaa”) //检测一个字符串是否在另一个字符串里包含,区分大小写
    str.charAt()//根据下标查询访问字符串的某个字符,还可以使用 [ ] 的形式来访问,中括号填写的是字符串的下标
    拼接字符串:
    “”+”“+”“;
    “\ \ \”;
    ${};
    模板字面量:“

    let c = 123
    let a = 123
    456
    ;
    console.log(a) // 123
    // 456

  • 对象的常用方法:
    Object.assign() // 浅拷贝,用于将所有可枚举属性的值从一个或多个源对象复制到目标对象,它将返回目标对象
    Object.assign(target, ...sources) target:目标对象;sources:源对象;返回值:目标对象
    Object.assign(obj,obj2,obj3)
    var obj = { a: 1 };
    var copy = Object.assign({}, obj);
    console.log(copy); // { a: 1 }
    var obj= JSON.parse(JSON.stringify(obj1)) //深拷贝
var obj1 = { a: 0 , b: { c: 0}};
var obj3 = JSON.parse(JSON.stringify(obj1));
obj1.a = 4;
obj1.b.c = 4;
console.log(obj3);     //{ a: 0 , b: { c: 0}};

Object.entries() //返回一个数组,其元素是与直接在object上找到的可枚举属性键值对相对应的数组。属性的顺序与通过手动循环对象的属性值所给出的顺序相同

var obj1 = {a:1,b:2};
var obj2 = Object.entries(obj1);
console.log(obj2) ;       //  [ ["a":1],["b":2] ] 

Object.is() //判断两个值是否是相等的值,返回true或false(不能够比较数组,无效)
Object.keys() //返回一个数组,一个由一个给定对象的自身可枚举属性组成的数组
obj.hasOwnProperty(key)//检测对象有没有指定的key ,返回true或false
Object.values() //方法返回一个给定对象自己的所有可枚举属性值的数组,值的顺序与使用for..in循环相同,返回的对象的value值,与Object.key()相反

猜你喜欢

转载自blog.csdn.net/amanda_wmy/article/details/80524475