Javascript 如何将两个数组值连接到JS对象的同级键/值对中
正在进行一些复杂的Web包配置,但不知道如何在同一个js对象中将两个数组合并到一个新数组中。有人看到问题了吗?我希望连接sass.fileNames.public和sass.fileNames.private并创建sass.all,如下所示 [‘样式’、‘打印’、‘自定义’、‘屏幕’]Javascript 如何将两个数组值连接到JS对象的同级键/值对中,javascript,oop,Javascript,Oop,正在进行一些复杂的Web包配置,但不知道如何在同一个js对象中将两个数组合并到一个新数组中。有人看到问题了吗?我希望连接sass.fileNames.public和sass.fileNames.private并创建sass.all,如下所示 [‘样式’、‘打印’、‘自定义’、‘屏幕’] var-sass={ 文件名:{ 公共:[“样式”,“打印”], 私有:[“自定义”,“屏幕”], 全部:this.fileNames.public.concat(this.fileNames.private)
var-sass={
文件名:{
公共:[“样式”,“打印”],
私有:[“自定义”,“屏幕”],
全部:this.fileNames.public.concat(this.fileNames.private),
},
文件路径:{
//公共网站样式表
公众:{
条目:'./条目路径',
},
//管理私有样式表
私人:{
条目:'./条目',
},
},
文件类型:“.scss”,//可以更改为.sass或.scss,具体取决于使用的格式
};代码>为什么不在定义之后再重新定义呢?像这样
var-sass={
文件名:{
公共:[“样式”,“打印”],
私有:[“自定义”,“屏幕”],
//全部:this.fileNames.public.concat(this.fileNames.private),
},
文件路径:{
//公共网站样式表
公众:{
条目:'./条目路径',
},
//管理私有样式表
私人:{
条目:'./条目',
},
},
文件类型:“.scss”,//可以更改为.sass或.scss,具体取决于使用的格式
};
sass.fileNames.all=sass.fileNames.public.concat(sass.fileNames.private);
console.log(JSON.stringify(sass))
为什么不在定义之后对其进行解析?像这样
var-sass={
文件名:{
公共:[“样式”,“打印”],
私有:[“自定义”,“屏幕”],
//全部:this.fileNames.public.concat(this.fileNames.private),
},
文件路径:{
//公共网站样式表
公众:{
条目:'./条目路径',
},
//管理私有样式表
私人:{
条目:'./条目',
},
},
文件类型:“.scss”,//可以更改为.sass或.scss,具体取决于使用的格式
};
sass.fileNames.all=sass.fileNames.public.concat(sass.fileNames.private);
console.log(JSON.stringify(sass))
我看到了一个解决方案,将public和private放在对象的外部,并将其放在内部
var public=['style','print'],
private=[“自定义”、“屏幕”];
var sass={
文件名:{
公众:公众,,
私人:私人,,
所有:公共。康卡特(私人),
},
文件路径:{
//公共网站样式表
公众:{
条目:'./条目路径',
},
//管理私有样式表
私人:{
条目:'./条目',
},
},
文件类型:“.scss”,//可以更改为.sass或.scss,具体取决于使用的格式
};
控制台日志(sass)代码>我只是看到了一个解决方案,将公共和私有放在对象的外部,并将其放在内部
var public=['style','print'],
private=[“自定义”、“屏幕”];
var sass={
文件名:{
公众:公众,,
私人:私人,,
所有:公共。康卡特(私人),
},
文件路径:{
//公共网站样式表
公众:{
条目:'./条目路径',
},
//管理私有样式表
私人:{
条目:'./条目',
},
},
文件类型:“.scss”,//可以更改为.sass或.scss,具体取决于使用的格式
};
控制台日志(sass)代码>可以在对象上设置一个函数来执行您想要执行的操作,因为该函数应用了“this”,因此该函数可以返回“this”并删除自身,以禁用进一步的使用
var sass = {
fileNames:{
public:['styles', 'print'],
private:['custom', 'screen'],
},
filePaths:{
// PUBLIC WEBSITE STYLESHEETS
public:{
entry: './entry-path',
},
// ADMIN PRIVATE STYLESHEETS
private:{
entry: './entry',
},
},
fileType: ".scss", // Can be changed to .sass or .scss depending on format used,
updateAllFileNames: function(){
// set values as you want
this.fileNames.all = Array.prototype.concat.apply(
this.fileNames.public,
this.fileNames.private
)
// delete the function so it will not be usable anymore
delete this.updateAllFileNames
// return self in order to assign the sass object
return this;
}
}.updateAllFileNames()
可以在对象上设置一个函数来执行您想要执行的操作,因为该函数应用了“this”,因此该函数可以返回“this”并删除自身,以禁用进一步的使用
var sass = {
fileNames:{
public:['styles', 'print'],
private:['custom', 'screen'],
},
filePaths:{
// PUBLIC WEBSITE STYLESHEETS
public:{
entry: './entry-path',
},
// ADMIN PRIVATE STYLESHEETS
private:{
entry: './entry',
},
},
fileType: ".scss", // Can be changed to .sass or .scss depending on format used,
updateAllFileNames: function(){
// set values as you want
this.fileNames.all = Array.prototype.concat.apply(
this.fileNames.public,
this.fileNames.private
)
// delete the function so it will not be usable anymore
delete this.updateAllFileNames
// return self in order to assign the sass object
return this;
}
}.updateAllFileNames()
是的,我知道这会管用的,我现在就是这样做的。我只是想把它简化一些,但不知道如何让它工作。是的,我知道它会工作,这就是我目前的工作方式。我只是想进一步简化它,但不知道如何使它工作。这会工作,但比我目前在对象之外做作业更详细。我同意,尽管如此,答案与如何使用同一对象相关,根据将工作的问题,但比我现在有的更详细,在对象之外做作业。我同意,根据问题,答案仍然与如何使用同一对象相关