我正在学习解构并快速查询如何引用数组的元素。
我正在使用以下方法在函数参数中的对象内解构嵌套数组:
function ajaxOptions({
url,
headers: [
header0 ="Content-Type: text/plain",
...otherHeaders
] = [],
data
} = {}) {
//... function body
}
这是给第一个元素一个默认值,header0并传播其他数组元素。
但是如果我有一个设置对象:
var settings = {
url: 'http://someothersite.com',
data: 50,
callback: sayHello,
headers: [, 'Header2', 'Header3']
}
并将它传递给ajaxOptions(settings)我不能header0在设置对象中使用来引用在 ajaxOptions 中解构的数组元素可以吗?换句话说,我不能将它用作像“url”、“数据”和“回调”这样的命名参数吗?
希望这是有道理的。如果有帮助,这是完整的代码:
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));
谢谢
Smart猫小萌
偶然的你
相关分类