将定义的变量推送到javascript对象中

Pushing defined variable into javascript object

本文关键字:javascript 对象 定义 变量      更新时间:2023-09-26

我使用的是express.js和cookie解析器中间件。我正在尝试使用一个函数将cookie名称和cookie值推送到一个数组中。

我希望阵列最终看起来如下:

loop = [{cookie1: value1}, {cookie2: value2}];

但由于某种原因,当我将键和值推入数组时,键只是被指定为一个名为key的字符串,而不是函数中设置的实际值。所以我的数组最终看起来如下:

loop = [{key: value1}, {key: value2}];

我在函数中定义了变量"key",如果我将其控制台记录在函数中,它就会被设置为正确的值(即cookie1),但由于某种原因,当我试图将其推入数组时,它只会推入"key"而不是实际变量。

以下是全部功能,任何想法都将不胜感激。谢谢

var loop = [];
cookie_objects(req.cookies);
function cookie_objects( cookies ) {
    for (var cookie in cookies) {
        if ( cookie != 'seen_cookie_message' && cookie != '_ga' ) {
            var key = cookie;
            var value = cookies[cookie];
            loop.push({key : value});
        }
    }
}

您必须预先创建空白对象,然后通过括号符号分配密钥:

var obj = {};
obj[key] = value;
loop.push(obj);