我有数组
var CatTitle = ['Travel', 'Daily Needs','Food & Beverages','Lifestyle','Gadget & Entertainment','Others']
我想将一个对象推入该数组
var myObj = {Coupon exp : 'xxx', couponcode : 'xxx'}
我将拥有这样的新数组
var CatTitle = [
'Travel': [{Coupon exp : 'xxx', couponcode : 'xxx'},{Coupon exp : 'xxx', couponcode : 'xxx'}],
'Daily Needs',
'Food & Beverages',
'Lifestyle',
'Gadget & Entertainment',
'Others']
我该怎么做?谢谢
答案 0 :(得分:1)
如何将对象推入数组
const animals = ['pigs', 'goats', 'sheep'];
animals.push({animal: 'cows'});
console.log(animals); // ["pigs", "goats", "sheep", { animal: "cows" }]
答案 1 :(得分:1)
我们可以过滤Travel
,因为它是string
的类型,然后将所需的对象推入数组:
let catTitle = ['Travel', 'Daily Needs','Food & Beverages','Lifestyle','Gadget & Entertainment','Others'];
catTitle = catTitle.filter(f => f !=='Travel');
catTitle.push({Travel:{'Coupon exp': 'xxx', couponcode : 'xxx'}})
console.log(catTitle)
如果CatTitle
是Object:
var CatTitle = {'Travel': 0, 'Daily Needs': 0,'Food & Beverages': 0,'Lifestyle': 0,
'Gadget & Entertainment': 0,'Others': 0}
那将是相当简单的:
CatTitle.Travel = {'Coupon exp': 'xxx', couponcode : 'xxx'}
答案 2 :(得分:1)
我真的不知道您打算做什么或要去哪里,但是下面的代码最终将满足您的要求。
仅使用Javascript数组是对象的事实 内部。
var CatTitle = ['Travel', 'Daily Needs', 'Food & Beverages', 'Lifestyle', 'Gadget & Entertainment', 'Others']
var myObj = {Couponexp : 'xxx', couponcode : 'xxx'}
CatTitle.shift();
CatTitle["Travel"] = [];
CatTitle["Travel"].push(myObj);
CatTitle["Travel"].push(myObj);
console.log(CatTitle);
console.log(CatTitle.Travel);
答案 3 :(得分:1)
我这样想:
var CatTitle = ['Travel', 'Daily Needs','Food & Beverages','Lifestyle','Gadget & Entertainment','Others'];
var myObj = {Coupon exp : 'xxx', couponcode : 'xxx'};
var newObject = {};
var newArray = [];
var i;
for(i=0; i < CatTitle.length; i++) {
var dump = {
CatTitle[i]: myObj
}
newArray.push(dump);
}
newObject = newArray;
答案 4 :(得分:0)
我相信您会混淆Array
和Object
。为了轻松解释,我将使用文字语法。
数组由[]
表示。
数组没有键,因此不能那样使用。数组键是动态排序的索引。
var CatTitle = [
'Travel',
'Daily Needs',
'Food & Beverages',
'Lifestyle',
'Gadget & Entertainment',
'Others',
]
对象由{}
表示。
var myObj = {
exp : 'xxx',
couponcode : 'xxx',
}
如果要将某些对象推入数组,请使用CatTitle.push({ exp: 'xxx' })
。这样您将拥有一个像这样的数组。
var CatTitle = [
'Travel',
'Daily Needs',
'Food & Beverages',
'Lifestyle',
'Gadget & Entertainment',
'Others',
{ exp: 'xxx' }, // <-- you pushed here at last index (6)
];
CatTitle[6] // { exp: 'xxx' }
但是我相信您正在寻找对象的对象。像这样:
var CatTitle = {
'Travel': [{ exp: 'xxx' }, { exp: 'yyy' }],
'Daily Needs': [],
'Food & Beverages': [],
'Lifestyle': [],
'Gadget & Entertainment': [],
'Others': [],
};
CatTitle['Travel'] // [{ exp: 'xxx' }, { exp: 'xxx' }]
CatTitle['Travel'][0] // { exp: 'xxx' }
我看到您正在开始学习JavaScript。建议您阅读有关Arrays和Objects的文档。
其他表彰是关于语义的,永远不要大写变量。避免将键创建为字符串,但是我相信您希望它像动态的东西一样,在这种情况下可以。
一个很好的例子:
var catTitles = {
'Travel': [{ exp: 'xxx' }, { exp: 'yyy' }],
'Daily Needs': [],
'Food & Beverages': [],
'Lifestyle': [],
'Gadget & Entertainment': [],
'Others': [],
};
catTitles['Travel'] // [{ exp: 'xxx' }, { exp: 'xxx' }]
catTitles['Travel'][0] // { exp: 'xxx' }
// you can add another category like this
catTitle['Restaurants'] = [{ exp: 'xxx' }];