【面试必考点】js的数据类型

数组

  • 方法

    • splice(删除/插入) 与 slice(截取)区别

      • slice(截取)

        • 语法糖:

          slice(start, end)

          • 截取一部分,并返回截取这部分数组
          • 不包含第end个数
          • 若start,end为负数,则从数组最后一个向前截取
          • 原数组不变
        • 例子:

          [1,2,3,4,5].slice(1,2,3,4,5)

          结果为:

          [2]

      • splice(删除、插入)

        删除或插入一部分元素,并返回删除这部分数组

        • 语法糖:

          splice(start, number, item1, …itemx )

          • start,从start索引开始删除
          • number,代表删除元素的个数
          • items 要添加到索引的新元素
          • 原数组会变
        • 例子:

          [1,2,3,4,5].splice(1,2,3,4,5)
          
          //输出结果为:[2,3]
          

          注:而原数组会变成:[1,2,3,4,5,4,5],即删除和插入数据

          var  a = [1,2,3]
          a.splice(0,1) // 返回:[1]
          
          console.log(a)
          //输出结果为: [2, 3]
          
    • copyWithin

      复制数组的指定元素 替换掉 数组指定位置

      array.copyWithin(target, start, end)

      参数描述
      target必需,复制到指定目标索引位置。即:目标索引。
      start可选。元素复制的起始位置
      end可选。停止复制的索引位置 (默认为 array.length)。如果为负值,表示倒数。即:复制,不包括第end个数

      例子:

      var fruits = ["Banana", "Orange", "Apple", "Mango", "Kiwi", "Papaya"]; 
      fruits.copyWithin(2, 0, 2); 
      // 从第一个至第二个("Banana", "Orange")复制后,粘贴到第3个位置(apple),顺延把第4个位置(Mango)也粘贴掉。
      // 输出结果:
      // Banana,Orange,Banana,Orange,Kiwi,Papaya
      

      fruits.copyWithin(2, 0, 2);
      // 从第一个至第二个(“Banana”, “Orange”)复制后,粘贴到第3个位置(apple),顺延把第4个位置(Mango)替换掉

      var fruits = ["Banana", "Orange", "Apple", "Mango", "Kiwi", "Papaya"]; 
      fruits.copyWithin(2, 0, 3); 
      // 输出结果:
      // Banana,Orange,Banana,Orange,Apple,Papaya
      

      fruits.copyWithin(2, 0, 3);
      // 从第一个至第三个(“Banana”, “Orange”, “Apple”)复制后,粘贴到第3个位置(apple),顺延把第4、5个位置(“Mango”, “Kiwi”)替换掉

    • reverse

      数组颠倒位置

      array.reverse()

      例子:

      var fruits = ["Banana", "Orange", "Apple", "Mango"];
      fruits.reverse();
      
      // 结果输出:Mango,Apple,Orange,Banana
      
    • toString

      将 数组转换为字符串

      array.toString()

      var fruits = ["Banana", "Orange", "Apple", "Mango"];
      var x = fruits.toString();
      // 结果输出:Banana,Orange,Apple,Mango
      
  • 属性

    • length

      长度

    • concat

      连接两个或多个数组。该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本

      例子:

      var a = [1,2,3];
      console.log(a.concat(4,5));
      // 输出结果为:1,2,3,4,5
      console.log(a)
      // 输出结果为:1,2,3
      

​ http://caibaojian.com/w3c/js/jsref_concat_array.html

函数

  • 属性

    • name

      函数名.name

      a = function(x, y) { return x+y; }
      console.log(a.name) 
      // 返回函数名
      // 结果输出:a
      
    • Symbol(重点)

      一种原始数据类型,定义对象的唯一属性名

      例子:

      let a = {};

      let sy = Symbol(‘abc’);

      a[sy]=1; // 结果输出:{Symbol(abc): 1}

      let sy1= Symbol(‘abc’);

      a[sy1]=1; // 结果输出:{Symbol(abc): 1, Symbol(abc): 1}

      console.log(a[sy] ===a[sy1]) // 结果输出:true。因为值都为1,所以相等。

      console.log(sy === sy1) // 结果输出:false。Symbol创建唯一不一样,所以不相等

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值