如何正确使用javascript内置参数
How to make use of javascript built in arguments properly?
每个函数传递的参数数量是不确定的。因此我使用了参数对象。现在的问题是,我需要在压入数组时为每个值分配一个键。
arguments的值在for循环中像这样获得:arguments[i]。那么如何将这些值分配给一个键呢?
map: function() {
var mappedData = [];
for (var i = 0; i < arguments.length; i++) {
控制台日志下面,给出所有值
console.debug(arguments[i]);
,但我需要将每个值分配给一个键,如下所示。我该怎么做呢好吗?
mappedData.push({
'id': arguments[0],
'name': arguments[1],
'text': arguments[2],
'notification': arguments[3],
'lastseen': arguments[4],
'avatar': arguments[5]
});
}
},
我自己找到了答案,那就是删除里面的for循环地图功能。这样我就可以访问参数[1]并将其赋值给关键
但是我不知道是否有比这更好的答案,不需要调用index
您可以将arguments
设置为spread
元素后的表达式,以扩展arguments
作为源可迭代对象的属性。返回目标作为数组中对象的属性。
function map() {
let [id, name, text, validation, lastseen, avatar] = [...arguments];
let mappedData = [{id, name, text, validation, lastseen, avatar}];
return mappedData
}
let res = map("a", "b", "c", "d", "e", "f");
console.log(res);
我的意思是,
function map(){
var mappedData = [];
var obj = {};
for (var i = 0; i < arguments.length; i++)
{
console.log(i + " "+ arguments[i]);
if (i % 6 == 0)
obj.id = arguments[i];
if (i % 6 == 1)
obj.name = arguments[i];
if (i % 6 == 2)
obj.text = arguments[i];
if (i % 6 == 3)
obj.notification = arguments[i];
if (i % 6 == 4)
obj.lastseen = arguments[i];
if (i % 6 == 5)
{
obj.avatar =arguments[i];
mappedData.push(obj);
obj = {};
}
if(i+1 == arguments.length && (i % 6 != 5))
{
mappedData.push(obj);
}
}
return mappedData;
}
我看不出这样做背后的逻辑。如果传递的参数将在预定的对象中使用,为什么不向函数传递一个opts形参呢?
map: function(opts){
var mappedData = []
mappedData.push(opts)
}
称之为:
map({ ... })
arguments
参数
相关文章:
- jQuery中是否内置了任何字符串格式化函数
- 为什么可以't我访问Chrome内置功能$
- 正在寻找一种跨移动浏览器兼容的方式,通过内置麦克风进行录制
- 使用angularjs内置过滤器过滤代码中的特定属性
- 带有内置图像对象的Canvas组件构造函数;t显示's图像
- 挂钩到Rails内置远程:true'ajax:成功'事件
- 是否有任何内置方法可以更改JavaScript对象'的属性设置为某个值
- html元素是否具有内置的属性
- 为什么没有用于cookie的内置JS函数
- Java Selenium 2.0-在WebElement.click()之前使用内置滚动时处理z索引(navi)
- 我们如何自定义内置的 Angular “货币”过滤器
- AngularJS不覆盖内置验证器
- 角度和内置的javascript映射函数
- 无需Javascript内置函数即可将十进制转换为十六进制
- 在没有内置 Javascript 函数的情况下将基数 10 转换为其他基数 2 的数字
- 从函数向内置函数中添加多个参数
- 用摩卡测试失败的承诺'内置的promise支持
- 在 JavaScript 中将数组作为内置函数参数传递
- 如何正确使用javascript内置参数
- 如何将参数传递给内置函数的回调?(例如HTMLCanvasElement.toBlob)