JavaScript 使用 String 作为对象键的参数

标签 javascript string object key

我遇到以下问题,并且几个小时后都没有找到解决方案。

我有一个 JSON 对象旅行。 Mongoose 模式如下所示:

var TripSchema = new Schema({
userId: String,
tripToken: String,
busId: Number,
lineId: Number,
tracking: [
    {
        vehicleCurrentStopCode: String,
        vehicleTrackingList: [
            {
                vehicleLatitude: Number,
                vehicleLongitude: Number,
                vehicleUpdateTimestamp: Number,
                vehicleUpdateId: Number
            }
        ],
        userTrackingList: [
            {
                userLatitude: Number,
                userLongitude: Number,
                userUpdateTimestamp: Number,
                vehicleUpdateId: Number
            }
        ]
    }
]
});

现在,在我的数据库处理程序模块中,我编写了一个函数,该函数需要由跟踪列表进行标识,即,如果我想更新车辆跟踪列表用户跟踪列表

因此我尝试了以下方法:

switch (trackingList.vehicleLatitude) {
case ('number') :
    pushElementInCorrectTrackingList(trip, "vehicleTrackingList", index, trackingList);
    break;
case ('undefined') :
    pushElementInCorrectTrackingList(trip, "userTrackingList", index, trackingList);
    break;
}

具有以下功能:

var pushElementInCorrectTrackingList = function (trip, typeOfTrackingList, index, trackingList) {

trip.tracking[index].typeOfTrackingList.push(trackingList);
...
}

这不起作用,因为 js 等待在 trip.tracking[index] 之后不接收字符串。

但是我没有找到任何将字符串转换为对象键的函数。起初我以为以下内容可以解决问题,但是,我发现了错误:TypeError: Cannot call method 'push' of undefined.

var pushElementInCorrectTrackingList = function (trip, typeOfTrackingList, index, newElement) {
var param = typeOfTrackingList.valueOf();
trip.tracking[index].param.push(newElement);
...
}

有人能解决这个问题吗?

提前致谢!

最佳答案

你已经尝试过了吗?

var pushElementInCorrectTrackingList = function (trip, typeOfTrackingList, index, trackingList) {
trip.tracking[index][typeOfTrackingList].push(trackingList);
    ...
}

关于JavaScript 使用 String 作为对象键的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27850252/

相关文章:

c++ - 如何使用在构造函数中创建的对象

javascript - 如何获取 javascript 对象属性的子集

javascript - 如何在 JS 中遍历嵌套对象

php - 如何通过文本验证将值从 html 页面发送到 php 页面

objective-c - 替换字符串中的字符

java - 在Java中查找直到第n个单词的字符数?

java - 如何在java中将字符串UTF-8转换为ANSI?

javascript - 如何获取 super 父div宽度并根据 super 父div宽度设置子和父div宽度

javascript - 位置 : absolute causing element to disappear

PHP/JavaScript 检查/取消检查在 FF 中工作但在 IE 中不工作