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

  • object.assign()——对象合并

      该方法用于对象的合并,将源对象的所有可枚举属性,复制到目标对象,要注意:
      1)方法中第一个参数为目标对象
      2)复制的操作为浅拷贝,即目标对象拷贝得到的是源对象的引用:如果若源对象中存在属性的属性值为对象,那么源对象中对该属性值的改变也会体现在目标对象上
    
const obj1 = {a:1}
const obj2 = {b:2, c:{name: 'xxx', age: 18}}
const object = Object.assgin(obj1 , obj2 )

obj2.c.age = 20
object.c.age = 20
  • Object.keys():
    对象和数组都可以用,一个是返回对象自身可枚举属性组成的数组;一个是返回元素下标组成的数组
const obj1 = {
  a: 1,
  b: {
     x: 1,
     y: 2
  }
}
const arr = [1,2,3,4]
Object.keys(obj1) // [a, b]
Object.keys(arr) // [0,1,2,3]
  • arr.pop():

     - 删除数组的最后一个元素
     - 返回被删除的元素 
     - 会改变数组的长度
    
  • arr.shift():

    - 删除数组的第一个元素
    - 返回被删除的元素
    - 会改变数组的长度
    
  • arr.unshift() :

    - 在数组的起始位置添加新的元素【不仅限于添加一个】
    - 返回值为数组长度
    - 会改变原数组
    
  • arr.push():

    - 向数组末尾处添加元素
    - 返回值为数组长度
    - 会改变原数组值
    
  • arr.splice() :

    - 在数组中删除项目/ 添加项目
    - 返回被(删除/新增)项目构成的新数组
    - 会改变原始数组
        -参数1:删除/添加项目的位置【nec】
        -参数2:删除项目的个数【nec】
        -参数3....n:像数组中添加的项目
    
const arr1 = [10,20,30,40,50]
const spliceRes = arr1.splice(1,2,'a','b','c')
console.log(arr1) // 原始数据变为:[20, 30]
console.log(spliceRes ) //  splice返回值:[10, "a", "b", "c", 40, 50]
  • arr.sort()

     对数组元素进行排序(默认按照字符编码顺序)
    

以下四个关于数组的api都是纯函数:

- 不改变源数组(无副作用)
- 返回值为一个数组
[10,20,30].map(parseInt) // [10,NaN,NaN]
// 二者书写形式等价
[10,20,30].map((num. index) => {
  return parseInt(num, index)
})
  • [纯]arr.concat():

    - 用于连接两个或更多的数组
    - 返回新的数组
    - 不改变之前的数组
    
const a = [1,2,3]
const b = [4,5,6]
const c = a.concat(b)
console.log(c) // [1,2,3,4,5,6]
console.log(a) // [1,2,3]
  • [纯]arr.filter():

    - 用于过滤数组
    - 返回新的数组
    - 不改变之前的数组
    
const a = [1,2,3,4,5,6]
const c = a.filter(num => num > 3)
console.log(c) // [4,5,6]
console.log(a) // [1,2,3,4,5,6]
  • [纯]arr.slice() :

     -返回数组中被选定的元素
     -不会修改原数组
        -参数1:从何处开始截取
        -参数2:截取的结束位置(不包括该结束位置)
        -(只有一个参数且非负时,代表从它开始截到结束;为负数时,代表从末尾截取)
    
const arr = [1,2,3,4,5]
arr.slice(-3) // [3,4,5]

关于splice(剪接) 和 slice(切片)的差别:

  • 一个是返回选中元素组成的数组;一个是删除、添加

    说在前面:
       JSON是一种数据格式,本质是字符串;
       json格式看着像对象,和JS对象结构一致
    
  • JOSN.stringfy():将一个对象转换成一个 json 字符串
    在这里插入图片描述

  • JSON.parse():从一个字符串中解析出 json 对象
    在这里插入图片描述

  • split (): 把一个字符串分割成字符串数组

var a = 'how are you'
a.split(" ") // ['how', 'are', 'you']
  • join():把数组中的所有元素都转换成一个字符串
var fruit = ['orange','apple', 'watermelon']
fruit.join('-') // 'orange-apple-watermelon'
  • arr.toString() :

    将数组以字符串形式返回
    
  • substring()

    方法用于提取字符串中介于两个指定下标之间的字符。
     -参数1:要提取的字符串的起始位置
     -参数2:要提取的字符串的结束位置+1(如若省略,截取至末尾)
    
  • Number.toFixed(n)

    可以把number四舍五入为指定小数位数的数字
    
  • path.resolve()——将一些路径/路径段 解析为绝对路径
    在这里插入图片描述

    总结:总结一下:从后向前,若字符以 / 开头,不会拼接到前面的路径;若以 ../ 开头,拼接前面的路径,但是不含前面一节的最后一层路径;若以 ./ 开头 或者没有符号 则拼接前面路径
    
  • path.join()——使用平台特定的分隔符把全部给定的 path 片段连接到一起,并规范化生成的路径

    总结 :区别:join()只是拼接各个path片段,并不像resolve()一样除了拼接各个字段还拼接了工作目录的路径,其次如果以/开头的字符串片段在join并不像resolve一样是只返回自身,还有就是.. 同 ../是一个意思都代表上一级
    

    在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值