我有一个这样的数组:
arr = {
name: 1,
address: 1,
phone: 2,
email: 5,
};
我希望能够在这个数组中添加更多的信息,例如:
arr = {
name: 1 true,
address: 1 false,
phone: 2 true,
email: 5 true,
};
我尝试了一些不同的东西,比如:
arr.email[2] = true;
没有结果(或错误)。
有办法做到这一点吗?或者有更好的方法来处理这个问题?
我不完全确定你在这里要做什么,因为你提到想要一个数组([]
),但你在你的问题中所显示的是一个对象({}
),但如果我读对了,你可以用一个对象来实现这一点,每个键都包含一个值数组。它看起来像:
const obj = {
name: [1],
address: [1],
phone: [2],
email: [5],
};
obj.email.push(true);
obj.email.push("whatever");
console.log(obj)
console.log(obj.email[1])
console.log(obj.email[2])
所以obj
是一个对象,但是name
、address
、phone
和email
都是数组,你可以根据需要用数组方法扩展它们。
原始数据结构不允许您按自己的方式添加数据。因此,首先必须创建具有所需数据结构的对象。在此之后,应该将原始数据移动到新对象中,只有在此之后才能添加一些新数据。
newObj.name.push(origObj.name,true,"something1","something2");
newObj.address.push(origObj.address,false);
newObj.phone.push(origObj.phone,true);
newObj.email.push(origObj.email,true);
输出{
"name":[1,true,"something1","something2"],
"address":[1,false],
"phone":[2,true],
"email":[5,true]
}
原始对象
var origObj = {
name: 1,
address: 1,
phone: 2,
email: 5
};
新对象var newObj = {
name: [],
address: [],
phone:[],
email: []
};
你需要给你的数组赋值一个变量并调用一个函数…这样,每个元素都可以分类(布尔值、字符串、整数等)。例如,
const fruit = ['banana', 'apple', 'pear'];
console.log(fruit);