第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

解構(gòu)數(shù)組參數(shù)

解構(gòu)數(shù)組參數(shù)

眼眸繁星 2022-10-08 17:26:04
我正在學(xué)習(xí)解構(gòu)并快速查詢?nèi)绾我脭?shù)組的元素。我正在使用以下方法在函數(shù)參數(shù)中的對(duì)象內(nèi)解構(gòu)嵌套數(shù)組:function ajaxOptions({    url,    headers: [         header0 ="Content-Type: text/plain",        ...otherHeaders    ] = [],    data} = {}) {     //... function body}這是給第一個(gè)元素一個(gè)默認(rèn)值,header0并傳播其他數(shù)組元素。但是如果我有一個(gè)設(shè)置對(duì)象:var settings = {    url: 'http://someothersite.com',     data: 50,     callback: sayHello,     headers: [,  'Header2', 'Header3'] }并將它傳遞給ajaxOptions(settings)我不能header0在設(shè)置對(duì)象中使用來引用在 ajaxOptions 中解構(gòu)的數(shù)組元素可以嗎?換句話說,我不能將它用作像“url”、“數(shù)據(jù)”和“回調(diào)”這樣的命名參數(shù)嗎?希望這是有道理的。如果有幫助,這是完整的代碼:function ajaxOptions({    url: url = "http://www.example.com",    method: method = "post",    headers: [         header0 ="Content-Type: text/plain",        ...otherHeaders    ] = [],    data: data,    callback: callback } = {}) {    return { url, method, headers: [header0, ...otherHeaders], data, callback};}function sayHello(){    console.log('hello');}var defaults = ajaxOptions();var settings = {    url: 'http://someothersite.com',     data: 50,     callback: sayHello,     headers: [, header0 = 'New Header', 'Header2', 'Header3'] }console.log(ajaxOptions(settings));謝謝
查看完整描述

2 回答

?
Smart貓小萌

TA貢獻(xiàn)1911條經(jīng)驗(yàn) 獲得超7個(gè)贊

header0在你的參數(shù)列表中是一個(gè)參數(shù),一個(gè)局部變量,就像a是一個(gè)參數(shù):

function test(a) { }

就像您不能a在該函數(shù)之外按名稱引用一樣,您test也不能用您的代碼和header0. 因此,如果您使用 調(diào)用您的函數(shù) header0 =,您實(shí)際上是在定義一個(gè)全局變量header0并在現(xiàn)場為其分配一個(gè)值。在嚴(yán)格模式下會(huì)產(chǎn)生錯(cuò)誤。它與參數(shù)無關(guān)header0

該參數(shù)header0將從您作為headers屬性值傳遞的數(shù)組的第一個(gè)元素中獲取其值。如果您作為參數(shù)傳遞的對(duì)象沒有該headers屬性,或者該屬性沒有定義不同于 的第一個(gè)數(shù)組元素undefined,則局部headers0變量將獲得默認(rèn)值。

不要將此變量與后跟冒號(hào)的屬性名稱混淆,后者也出現(xiàn)在您的參數(shù)部分:headers:. 這不是一個(gè)變量,而只是定義了變量的位置,headers0并且otherHeaders在調(diào)用函數(shù)時(shí)應(yīng)該獲取它們的值。但headers它本身并不是一個(gè)變量。

url另一方面一個(gè)變量。它從具有相同名稱的屬性中獲取其值。注意沒有冒號(hào)。這使它成為一個(gè)變量(參數(shù))。

解構(gòu)中使用的語法可能非?;靵y。例如,如果不是url,you would have url: url2,那么不是定義 variable url,而是定義 variable url2——仍然是url屬性在傳遞給函數(shù)的對(duì)象中的值。


查看完整回答
反對(duì) 回復(fù) 2022-10-08
?
偶然的你

TA貢獻(xiàn)1841條經(jīng)驗(yàn) 獲得超3個(gè)贊

我認(rèn)為您應(yīng)該嘗試使用對(duì)象來解決您的問題以引用數(shù)組索引。但是,如果您真正想要的是擁有一個(gè)返回函數(shù)中第一個(gè)值的數(shù)組,您可以嘗試按如下方式排列數(shù)組。


const defaulHeader = ["Content-Type: text/plain"]

const otherHeaders = ["Some-type: application/json"]


 const headers = [ 

        ...defaulHeader,

        ...otherHeaders

    ]


console.log(headers)


查看完整回答
反對(duì) 回復(fù) 2022-10-08
  • 2 回答
  • 0 關(guān)注
  • 111 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)