Javascript 试图将数组作为键值对放入对象中。没有得到期望的输出?

Javascript 试图将数组作为键值对放入对象中。没有得到期望的输出?,javascript,arrays,Javascript,Arrays,我已经创建了一个插入函数 insert(obj4, ["whisky", "balentine"], ["pasta", "pesto"]); obj4是我打算将这些数组对作为键值对放入的项。每个数组中的第一项都是键,第二项是值对。我试图输出我的临时对象,但我只得到[object]。我现在该怎么办?代码正确吗 我创建了这个函数:- function insert(obj, ...pairs){ //Holds the objects temporarily var tempO

我已经创建了一个插入函数

insert(obj4, ["whisky", "balentine"], ["pasta", "pesto"]);
obj4是我打算将这些数组对作为键值对放入的项。每个数组中的第一项都是键,第二项是值对。我试图输出我的临时对象,但我只得到[object]。我现在该怎么办?代码正确吗

我创建了这个函数:-

function insert(obj, ...pairs){

    //Holds the objects temporarily
    var tempObj = {}; 

    for(let i = 1; i < arguments.length; i++){
        if(arguments[i].length > 2){
            console.log("Too long")
            return;
        } else {
            tempObj[arguments[i][0]] = arguments[i][1];
        }
    }

    //Trying to log my temp object 
    console.log("Test " + tempObj);
}

insert(obj4, ["whisky", "balentine"], ["pasta", "pesto"]);
函数插入(obj,…对){
//暂时保存对象
var tempObj={};
for(设i=1;i2){
console.log(“太长”)
回来
}否则{
tempObj[arguments[i][0]]=arguments[i][1];
}
}
//正在尝试记录我的临时对象
控制台日志(“测试”+tempObj);
}
插入(obj4、[“威士忌”、“巴伦丁”]、[“意大利面”、“香蒜酱]);

您正在尝试使用字符串连接打印对象。所以它使用toString打印[object]。不过,您的代码是正确的。只需打印一个对象,你们就能看到实际的对象

函数插入(obj,…对){
//暂时保存对象
var tempObj={};
for(设i=1;i2){
console.log(“太长”)
回来
}否则{
tempObj[arguments[i][0]]=arguments[i][1];
}
}
//正在尝试记录我的临时对象
console.log(tempObj);
}

插入({}、[“威士忌”、“巴伦丁”]、[“意大利面”、“香蒜酱])
添加vipul patel所说的内容,如果您想控制台输出字符串测试和可以执行的对象,
console.log('Test',tempObj)

您也可以使用

函数插入(obj,…对){
如果(pairs.length>0){
var结果=成对减少(功能(累加器、电流值){
累加器[当前值[0]]=当前值[1];
回程累加器;
},obj);
返回结果;
}否则{
返回obj;
}
}
var obj4={“冰”:“奶油”};
var结果=插入(obj4、[“威士忌”、“巴伦丁”]、[“意大利面”、“香蒜酱]);

控制台日志(结果)您好,签出对象。从条目中,它可能会帮助您,并且它是一个内置函数。FCOL您是否只是尝试控制台/记录对象,而没有在其前面加上“Test”+?