1

我有一个非常简单的问题,我需要从函数参数创建一个数组列表,到目前为止,我设法一一提醒他们,但无法创建一个列表:

<span onclick="show_flights(1,2,3,4);">text</span>

和功能

function show_flights() {
    var list='';
    for (var x = 0; x < arguments.length; x++) {
        alert(arguments[x]);
        list.append(arguments[x]);
    };
alert(list);

谢谢大家的帮助,我真的很感激!

4

1 回答 1

4

您可以直接将arguments对象转换为数组:

function show_flights() {
    var list = Array.prototype.slice.call(arguments, 0);
    alert(list);
}

如果您对它实际工作的方式/原因感兴趣,请阅读 ECMAScript 规范,特别是有关Array.prototype.slice方法的部分。简而言之,该方法将尝试从调用它的对象(其this值)创建一个数组,方法是迭代其属性并将它们添加到该新数组(通过内部机制[[DefineOwnProperty]])。

于 2012-09-26T22:19:54.493 回答