Javascript JS-将数组或字符串转换为参数列表[SQLite insert with bind parameters]

Javascript JS-将数组或字符串转换为参数列表[SQLite insert with bind parameters],javascript,sqlite,data-binding,arguments,Javascript,Sqlite,Data Binding,Arguments,有没有办法将数组或字符串转换为函数的参数列表 var data = ['ricardo','portugal',23]; test(data); 模拟结果不是将测试数组传递给示例函数,而是: test('ricardo','portugal',23); 这是我的问题:根据 这是我的插入函数: var insert = function(rows) { if(rows.length) { var columns = ""; _.each(rows

有没有办法将数组或字符串转换为函数的参数列表

var data = ['ricardo','portugal',23];

test(data);
模拟结果不是将测试数组传递给示例函数,而是:

test('ricardo','portugal',23);
这是我的问题:根据

这是我的插入函数:

var insert = function(rows) {

    if(rows.length) {

        var columns = "";

        _.each(rows[0],function(value) {

            columns += value + ",";
        });

        var query = "INSERT INTO users (" + columns + ") VALUES (?,?,?)";//"INSERT INTO users (name,country,age) VALUES (?,?,?)";

        columns = columns.slice(0, -1);

        _.map(rows,function(row) {

            var data1 = []
                data2 = "";

            _.each(row,function(value) {

                data1.push(value);
                data2 += value + ",";
            });

            data2 = data2.slice(0, -1);

            db.execute(query,data1); //test 1 - 'INSERT INTO users (name,country,age) VALUES (?,?,?)',['Ricardo','Portugal','24']
            db.execute(query,data2); //test 2 - 'INSERT INTO users (name,country,age) VALUES (?,?,?)',"'Ricardo','Portugal','24'"
            //expected result: 'INSERT INTO users (name,country,age) VALUES (?,?,?)','Ricardo','Portugal','24'
        });
    }
};
这是一个正在运行的示例:

insert([
    {name:"Ricardo",country:"Portugal",age:24},
    {name:"John",country:"England",age:27}
]);

在通过文档进行一些研究后,我发现无需分离要插入的值,它接受作为数组的值:

var thisName = 'Arthur';
var thisPhoneNo = '1-617-000-0000';
var thisCity = 'Mountain View';
db.execute('INSERT INTO people (name, phone_number, city) VALUES (?, ?, ?)', thisName, thisPhoneNo, thisCity);
我需要的是:

var personArray = ['Paul','020 7000 0000', 'London'];
db.execute('INSERT INTO people (name, phone_number, city) VALUES (?, ?, ?)', personArray);

为什么不
测试(数据[0],数据[1],数据[2])
或将其映射到对象
{name:data[0],country:data[1],age:data[2]}
?你能提供一些上下文吗?我正在获取作为http调用结果传递给insert函数的数据,结果可以有任意数量的属性,例如,翻译数据有4列,用户数据有23列,但是如果我更改返回该数据的查询(服务器端),我可以添加或删除列,如果你有一个可变的输入大小,为什么你要把数组转换成多个参数,因为你的函数还需要考虑它可以有1个参数或20,并且我确信你的<代码>测试< /COD>函数不会是<代码>函数测试(ARG1,…,ARG20)< /代码>。抱歉,如果我不理解这个问题,谢谢您的时间,在通过文档进行一些研究之后,我发现没有必要将要插入的值分开,它接受作为数组的值