JS中的字符串、数组、对象

(一)字符串和数组互相转换

(二)字符串和对象互相转换

(三)遍历数组和遍历对象

1. 遍历数组:for循环 / forEach

2. 遍历对象:for(let k in obj)

注:这里不用for循环遍历对象,有两个原因!!

一是对象没有像数组一样的length属性,无法确定长度,

二是对象里面是无序的键值对,没有索引号下标index。

(四)数组解构和对象解构

1. 数组解构

注:1)若左侧变量多,右侧单元值少,则多余的变量会被赋值为undefined。

2)若左侧变量少,右侧单元值多,则可以用剩余参数来解决,剩余参数返回的是一个真数组。

3)要避免undefined传递单元值,则需要设置默认值,只有单元值为undefined时默认值才生效。

例如const [ a = '手机',b = '小米' ] = [ ' 华为 ' ]

此时a的值为' 华为 ',b的值为'小米'

4)按需导入,可以忽略某些返回值。

例如 const [ a ,  , c , d ] = [ 1, 2 , 3 , 4 ]

此时a的值为1,c的值为3,d的值为4

5)多维数组解构。

例如const [ a ,  [b , c ] ] = [ 1, [ 2 , 3 ] ]

此时a的值为1,b的值为2,c的值为3

2. 对象解构

注:1)给解构的变量名重新命名  

const { name:uname , age } = user 

此处的name是原变量名,uname是新变量名

2)数组对象解构

const  pig = [ { uname : '佩奇',age:18 } ]

解构:const  [ { uname,age } ] = pig

3)多级对象解构

const pig = {

          name:‘佩奇’,

          family:{

                    mother:‘猪妈妈’,

                    father:‘猪爸爸’,

                    sister:‘乔治’        

         },

          age:6

}

解构:const { name, family:{ mother,father,sister }, age } = pig

4)Json对象解构

Json对象:属性名和属性值都用双引号引起来了。

const msg = {
      "code": 200,
      "msg": "获取新闻列表成功",
      "data": [
        {
          "id": 1,
          "title": "5G商用自己,三大运用商收入下降",
          "count": 58
        },
        {
          "id": 2,
          "title": "国际媒体头条速览",
          "count": 56
        },
        {
          "id": 3,
          "title": "乌克兰和俄罗斯持续冲突",
          "count": 1669
        },

      ]
    }

(1)只解构data里面的数据:const { data } = msg

(2)把data选出来作为参数传递给函数: 

function render ( { data } )  {
      console.log(data)
 }
render ( msg )

(3)为防止msg里面的data名字混淆,要求渲染函数里面的数据名改为 myData:

function render ( { data: myData } )  {
      console.log(myData)
 }
 render ( msg )

(五)数组“增删改查”和对象“增删改查”

1. 数组“增删改查”

数组是一种按顺序保存数据的数据类型,是有序的数据集合。

let 数组名 = [ 数据1,数据2,······,数据n ]

增:

1)添加到数组开头:数组名.push(新增内容)

2)添加到数组末尾:数组名.unshift(新增内容)

删:

1)删除数组第一个元素:数组名.pop()

2)删除数组最后一个元素:数组名.shift()

3)删除数组指定元素:数组名.splice(起始位置,删除个数)

注:splice里面的删除个数如果省略,则默认删完。

改:数组名[ 下标 ] = 新值

查:数组名[ 下标 ]

2. 对象“增删改查”

对象由属性和方法组成,是无序的数据集合。

let 对象名 = {

      属性名:属性值,

      方法名:函数

}

增:对象名.新属性名 = 新值

删:delete  对象名.属性名

改:对象.属性 = 值

查:对象.属性

注!!对象访问属性的两种方式:1)对象.属性    2)对象[ ' 属性 ' ]

  • 21
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值