js各種賦值,第1張

文章目錄

數組賦值

表單賦值

對象賦值

**兩個JSON對象直接賦值**

數組賦值

1.this.object= Object.assign({}, record)

1

2._.assign(object, [sources]) 

1

這方法會改變 object/docs/lodash.assign

3._.set(this.table, 'loadData', data)

  this.$set( this.table,'loadData1',val)  // 一般用於對象賦值,可以給到對象get和set方法   很好

1

2

4.let data = _.get(res, 'data.records')

1

5.    

    this.loadData.splice(0,this.loadData.length) //一開始初始化this.loadData,看情況要不要初始化

    //(數組初始化不要直接用this.loadData=[],因爲衹是一個空數組沒有方法,會無法綁定,表格出不來(多次調用整個方法的情況下))

    setTable1 (val,dsName){

        val.forEach((item,index)=>{ //循環賦值,若使用push記得一開始初始化,要不然多次點擊會越來越多

            this.loadData.push(item)   //或this.loadData[index]=item

      })


//小程序

this.setData({

    ['partsList.front[' i '].choose']:!this.data.partsList.fron[i].choose

})        

this.setData({[`showIndex[${i}].isShow`]: !this.data.showIndex[i].isShow})


表單賦值

this.form.setFieldsValue({ username: record.username })

this.form.setFieldsValue({ ...record })

1

2

// 重置

this.form.resetFields()

this.$refs['table-search-ref'].resetFields()

 <a-button style="margin-left: 8px" @click="() => this.form.resetFields()">重置</a-button>


this.form.getFieldValue('selectedRole')

1

對象賦值

直接用“=”其實會複制地址,改變一個另一個就會變,要用: 對象層級大於2層時,子孫級會改變時,要用深拷貝scope.buttonParts = .cloneDeep(.assign({}, buttonParts, scope.buttonParts))

方法一:Object.assign

function copy(obj){

    return Object.assign({}, obj);

}

方法二:…展開運算符

function copy(obj){

    return { …obj };

}

方法一,方法二是淺拷貝,也就是儅對象層級大於2層時,複制到的還是地址信息

let a = {age:1,

         jobs: {first:'FE’} 

        }

let b = copy(a) 

a.jobs.first ='native'

console.log(b.jobs.first)// native

方法三:JSON

function copy(obj){

    return JSON.parse(JSON.stringify( obj ));

}

會忽略undefined,fn

不能序列化函數

不能解決循環引用的對象

方法四:MessageChannel

function structuralClone(){

    return new Promise(resolve =>{

        const {port1,port2} = new MessageChannel()

        port2.onmessage = ev => resolve(ev.data)

        port1.postMessage(obj)

    })

}

obj2  = await structuralClone(obj1);


bankAccountMap: {},addressMap: {},

1

let index = 0

for (const item in res.data) {

     this.bankAccountMap[index] = item

     this.addressMap[index] = res.data[item]

     index

}

//item是屬性名稱res.data[item]是屬性值

this.bankAccountMap = item{...res.data}

1


<div :style="{textAlign:getValue(record,'options.fontStyle.textAlign')}">

1

_.set(this.table, 'loadData', data)

this.$set( this.table,'loadData1',val)  // 可以給到對象get和set方法   很好

1

2

this.bankAccountMap = Object.assign({},this.bankAcoount)

1

兩個JSON對象直接賦值

temQueryInfo: {

  pageIndex: 1,

  pageSize: 15,

  filter: {}

},

queryInfo: {

  pageIndex: 1,

  pageSize: 15,

  filter: {

    prOrgNo: this.$store.getters.userInfo.orgNo,

    superviseType: null,

    handleStatus: null,

    checkBeginDate: checkBegin,

    checkEndDate: null,

    tgNo: null,

    superviseUser: null

  }

},


this.temQueryInfo = JSON.parse(JSON.stringify(this.queryInfo))

————————————————

版權聲明:本文爲CSDN博主「ppphhz」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出処鏈接及本聲明。

原文鏈接:https://blog.csdn.net/phhzhhh/article/details/121676560


生活常識_百科知識_各類知識大全»js各種賦值

0條評論

    發表評論

    提供最優質的資源集郃

    立即查看了解詳情