对象--数组--字符串常用方法

文章详细介绍了JavaScript中的对象方法,如Object.assign用于合并对象,Object.create创建新对象,以及Object.freeze冻结对象。对于数组,讨论了影响原数组和不影响原数组的操作,如push、pop、slice和concat,并提到了ES6中新增的Array.from、Array.of和find等方法。此外,还涉及字符串的查找、截取和替换等相关操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对象常用方法

  Object.assign() 合并对象, 值互不影响
  	const obj = { a: '1' }
  	const obj2 = Object.assign({}, obj)
  	obj2.ccc = 6
  	console.log(obj)
  	console.log(obj2)

  Object.create() 静态方法以一个现有对象作为原型,创建一个新对象。
  	const obj = {a: '1'}
  	const obj1 = Object.create(obj)
  	obj1 = {} 但是它的 __proto__ 指向 obj,所以可以打印 
  	obj1.a  === '1' 

  Object.defineProperty
  
  Object.entries() 区别在于 for-in 循环还会枚举原型链中的属性

      const obj = { foo: "bar", baz: 42 };
      console.log(Object.entries(obj)); // [ ['foo', 'bar'], ['baz', 42] ]



  Object.freeze() // 冻结
      const obj = {
        prop: 42
      };
      Object.freeze(obj);
      obj.prop = 33;
      // Throws an error in strict mode
      console.log(obj.prop); // 42

  Object.keys()
  Object.values()

  Object.prototype.hasOwnProperty()  方法会返回一个布尔值,指示对象自身属性中是否具有指定的属性(不在原型链中,也就是,是否有指定的键)。

数组常用方法

    /*
      影响原数组
          pop   后删, push    后增,影响原数组
          shift 前删, unshift 前增,影响原数组
          arr[1] = 234 影响原数组
          splice(1, 0, 2, 3)  追加数据,影响原数组
          reverse 返回反转后的数组

          不影响原数组。
          slice(1, 3)  >=1, <=3, 返回新数组,不影响原数组
          concat  拼接数组,返回新数组,不影响原数组
    */
    const arr = [1, 2, 3, 4, 5]

    //  数组中查找的方法
    /*
      
      find
      findIndex
      findLast
      findLastIndex

      includes
      indexOf
      
      some
      every
    */

    // 数组中遍历
    /*
      arr.forEach
      arr.map
      arr.filter
      arr.from
      arr.reduce

      push
      pop
      shift
      unshift

      splice
      slice

      reverse
      sort
      concat
      
    */

es6数组常用方法

  1、Array.from() //可以将伪数组转化成数组
    基于 [].slice.call(obj)  实现的
  
  2、Array.of() // Array.of 方法用于将一组值,转换为数组。弥补数组构造函数 Array()的不足

    Array.of(3); // [3]
    Array.of(3, 11, 8); // [3,11,8] 

    new Array(3); // [, , ,]

  3、数组实例的 find() 和 findIndex() // 查找数组,返回某一项或者下标
  4、数组实例的 fill()
  5、数组实例的 entries(),keys() 和 values() // 将数组转变成对象,返回 key 跟 value
  6、includes()方法返回一个布尔值 // 根据值查找某一项,返回 布尔 值
  7、数组实例的 flat(),flatMap() // 
  8、数组实例的copywithin()


  <script>
// 1、Array.from //可以将伪数组转化成数组
    // function fn() {
    //   const arr1 = Array.from(arguments)
    //   arr1.push('99090')
    //   console.log(arr1, '778899--->')
    // }
    // fn(1, 2, 3)

// 2、Array.of // Array.of 方法用于将一组值,转换为数组。弥补数组构造函数 Array()的不足
    // Array.of(3); // [3]
    // Array.of(3, 11, 8); // [3,11,8] 

    // new Array(3); // [, , ,]

// 4、数组实例的 fill()
    // var fillArray = new Array(6).fill(1);
    // console.log(fillArray); //[1, 1, 1, 1, 1, 1]

    
  </script>

字符串

 // 查找
    /*
      includes  返回 布尔值
      indexOf   返回  -1
      match      返回 -1
      serch     返回  -1

      split  字符串转数组

      slice   截取  并返回一个新的字符串,且不会改动原字符串。
      subString 截取  并返回一个新的字符串,且不会改动原字符串。

      replace 替换  返回值:替换后的字符串,不影响原来的

      trim  

      endsWith // 找到后面匹配的  返回 true
      startsWith // 找到前面匹配的  返回 true
      

    */
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值