Javascript:如何在已经创建的Javascript对象中推送key:pair值
我的问题是: 我有一个类型为=new FormData()的变量 例如,它有一些密钥对值Javascript:如何在已经创建的Javascript对象中推送key:pair值,javascript,local-storage,form-data,Javascript,Local Storage,Form Data,我的问题是: 我有一个类型为=new FormData()的变量 例如,它有一些密钥对值 const _CheckOutData = new FormData(); // Creating FormData object to send mulitpart data _CheckOutData.append('Name', this._CheckOutForm.get('name').value);//Appending values to the _CheckOutFor
const _CheckOutData = new FormData(); // Creating FormData object to send mulitpart data
_CheckOutData.append('Name', this._CheckOutForm.get('name').value);//Appending values to the
_CheckOutForm varibale from FormGroup
_CheckOutData.append('Street', this._CheckOutForm.get('street').value);//Appending values to the
_CheckOutForm varibale from FormGroup
_CheckOutData.append('City', this._CheckOutForm.get('city').value);/
我想将这些值保存在localStorages中。当我直接将ChechOutData保存到本地存储时,它是空的。此函数的代码段是
SaveFormDataToLocalStorage(_CheckOutData){
localStorage.setItem('_CheckOutData',JSON.stringify(_CheckOutData));
}
因此,获取空的本地存储。我尝试了另一种方法,它实际上是有效的,但我的问题是,我想将_CheckOutData(Type FormData)中的值推送到新对象中。下面是片段
_CheckOutData.forEach((key,value)=>{
let Value=key;
let Key=value;
let TemporaryCart={
[Key]:Value
}
this._CartCheckOutData.push(TemporaryCart);
})
因此,我成功地获取了所有和值,并将它们保存到TemporaryCart(类型对象)中。但问题是,如果数组中有5个值,那么它是由5个对象创建的。但是我想创建一个包含5个值的对象
我的实际结果是:
[{Name: "Fazi"}, {Street: "10570 S De Anza Blvd, Cupertino, CA 95014, United States"}]
但我想要什么
[
{
Name:"Fazi",
Street:"xyz 123",
.
.
.
.
And So One
}
]
请帮助我社区:尊敬Abdul Rehman您好,您可以尝试使用此工具更改对象中的formdata
formData.forEach(function(value, key){
object[key] = value;
});
var json = JSON.stringify(object);
FormData对象看起来更像数组数组,而不是实际对象。这就是为什么FormData对象可以有更多具有相同键的条目 因此,与其尝试将FormData转换为JSON对象,不如尝试将其转换为数组
const formDataToJSON = formData => {
const entriesArray = [...formData];
return JSON.stringify(entriesArray);
}
这将首先将FormData对象转换为如下所示的数组(在JSON步骤之前):
此格式将保持FormData中的所有值不变,因为您可以有多个同名键
也可以逆转这一过程
const JSONtoFormData = json => {
const formData = new FormData();
const entriesArray = JSON.parse(json);
for (const [name, value] of entriesArray) {
formData.append(name, value);
}
return formData;
};
我会尝试以这种方式设置对象的关键点:
some_list=[]
某些_对象={}
某些对象['new_key_1']=123
一些对象['new\u key\u 2']='abc'
一些东西
some\u list.push(some\u对象)
我会给你
> some_object
{ new_key_1: 123, new_key_2: 'abc' }
> some_list
[ { new_key_1: 123, new_key_2: 'abc' } ]
由于要将一个对象复制到另一个对象中,您也可以尝试其他方法:
>target\u object={…某个\u对象和另一个\u键:'123.123'}
{new_key_1:123,new_key_2:'abc',以及另一个_key:'123.123'}
祝你好运 让我试试,兄弟,很好,很管用。兄弟,你能解释一下吗。Thanksys,forEach函数迭代formdata的键值。在这里,我使用object[key]直接更改了objects的值,并针对该键为其赋值。然后我将它转换成json.bro我不需要json.stringyfy(json)同时将它保存到本地存储Brother我想加入你的圈子你能告诉我任何社交媒体平台在那里我可以接受你的建议吗。感谢bro的帮助。bro这种方法看起来非常简单和精确,让我试试吧。No bro同一问题一个数组有多个对象。
> some_object
{ new_key_1: 123, new_key_2: 'abc' }
> some_list
[ { new_key_1: 123, new_key_2: 'abc' } ]