gpt4 book ai didi

javascript - 将对象转换为数组进行存储并返回数组以在 JavaScript 中应用

转载 作者:行者123 更新时间:2023-11-30 16:26:28 25 4
gpt4 key购买 nike

我有一个像这样的对象,它是从 Angular 动态复选框生成的:

{"United States":true,"Canada":true,"Australia":false}

它在存储值方面效果很好,但为了能够对国家值进行数据库搜索,我希望能够将其转换为数组以将其保存到数据库 (MongoDb/Mongoose) 中,例如:

["United States":true,"Canada":true,"Australia":false] 

然后将其转换回与应用程序完全相同类型的对象。

最简单的方法是什么?

最佳答案

我可能会将值插入为:

"string", boolean, "string", boolean, "string", boolean

为此:

// Taking the object...
var countryObject = {"United States":true,"Canada":true,"Australia":false};

// ... and simplifying for explanation as:
var countryObject = {"A":true,"B":true,"C":false};

var compact = [];
for(var prop in countryObject){
compact.push( prop );
compact.push( countryObject[prop] );
}

// compact yields interpolated values as a basic array:
// ["A", true, "B", false, "C", true];

仅供引用:您现在可以非常有效地搜索数组,方法是找到字符串值的索引,然后加 1 以通过加 1 检索 bool 值:

var foundIndex = compact.indexOf("B");
var result;
if(foundIndex > -1){
result = countryArray[foundIndex + 1];
}

拼凑起来:

var compact = ["A", true, "B", false, "C", true];
var countryObject = {};
for(var i=0; i<compact.length; i+= 2){
countryObject[compact[i]] = compact[i+1];
}

关于javascript - 将对象转换为数组进行存储并返回数组以在 JavaScript 中应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34079639/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com