从函数参数创建arraylist

时间:2012-09-26 22:17:55

标签: javascript jquery

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

<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);
谢谢大家的帮助,我真的很感激!

1 个答案:

答案 0 :(得分:4)

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

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

如果您对如何/为何真正起作用的详细信息感兴趣,请阅读ECMAScript规范,特别是Array.prototype.slice方法部分。总而言之,该方法将尝试从调用它的对象(其this值)创建一个数组,迭代其属性并将它们添加到该新数组(通过内部机制) [[DefineOwnProperty]])。