我正在读一本名为《雄辩的Javascript》的书。
在第6章中,我发现了一种我无法理解的语法,[ ]
可以直接添加到对象中。
这种用法是什么意思?
function UnderlinedCell(inner) {
this.inner = inner;
};
UnderlinedCell.prototype.minWidth = function() {
return this.inner.minWidth();
};
UnderlinedCell.prototype.minHeight = function() {
return this.inner.minHeight() + 1;
};
UnderlinedCell.prototype.draw = function(width, height) {
return this.inner.draw(width, height - 1)
.concat([repeat("-", width)]);
};
function dataTable(data) {
var keys = Object.keys(data[0]);
var headers = keys.map(function(name) {
return new UnderlinedCell(new TextCell(name));
});
var body = data.map(function(row) {
return keys.map(function(name) {
return new TextCell(String(row[name]));
});
});
return [headers].concat(body);
}
最佳答案
将[]
放在变量周围仅意味着创建一个数组,其元素就是该变量。然后可以使用
return [headers].concat(body);
等效于:
var array = [];
array[0] = headers;
var new_array = array.concat(body);
return new_array;
该函数正在执行的操作是返回一个数组,该数组的第一个元素是标题行,其余元素是
body
中的每个数据行。关于javascript - 直接向对象添加[]是什么意思?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31523057/