Javascript 如何将对象数组中的值从字符串数组更改为字符串数组
我有两个数组,基于Javascript 如何将对象数组中的值从字符串数组更改为字符串数组,javascript,arrays,ecmascript-6,Javascript,Arrays,Ecmascript 6,我有两个数组,基于daysacative值中的数组,我想用值键值解析第二个对象数组,并将选中的键值更改为真 var daysActive = ['monday', 'tuesday', 'wednesday']; var weekDays = [{ "name": "Sunday", "value": "sunday", "id": "SUN","checked":false,disabled:true }, { "name": "Monday", "value": "
daysacative
值中的数组,我想用值
键值解析第二个对象数组,并将选中的
键值更改为真
var daysActive = ['monday', 'tuesday', 'wednesday'];
var weekDays = [{ "name": "Sunday", "value": "sunday", "id": "SUN","checked":false,disabled:true },
{ "name": "Monday", "value": "monday", "id": "MON" ,"checked":false,disabled:true},
{ "name": "Tuesday", "value": "tuesday", "id": "TUE","checked":false,disabled:true },
{ "name": "Wednesday", "value": "wednesday", "id": "WED","checked":false,disabled:true },
{ "name": "Thursday", "value": "thursday", "id": "THU","checked":false,disabled:true },
{ "name": "Friday", "value": "friday", "id": "FRI","checked":false,disabled:true },
{ "name": "Saturday", "value": "saturday", "id": "SAT","checked":false,disabled:true}
];
合成数组
var resultantDays = [{ "name": "Sunday", "value": "sunday", "id": "SUN","checked":false, disabled:true },
{ "name": "Monday", "value": "monday", "id": "MON" ,"checked":true, disabled:true},
{ "name": "Tuesday", "value": "tuesday", "id": "TUE","checked":true, disabled:true },
{ "name": "Wednesday", "value": "wednesday", "id": "WED","checked":true, disabled:true },
{ "name": "Thursday", "value": "thursday", "id": "THU","checked":false, disabled:true },
{ "name": "Friday", "value": "friday", "id": "FRI","checked":false, disabled:true },
{ "name": "Saturday", "value": "saturday", "id": "SAT","checked":false, disabled:true}
];
我已经试过了,但它的方法是不正确的
var modifiedWeekdays = days.map(value => {
weekdays.forEach(function(val, key) {
Object.entries(val).forEach(([keyObj, valObj]) => {
if (keyObj === 'value' && valObj === value) {
}
});
});
});
您可以在
weekDays
数组中使用map
函数查看daysacactive
数组中是否存在该值
var daysacctive=[“星期一”、“星期二”、“星期三”];
var weekDays=[{“name”:“Sunday”,“value”:“Sunday”,“id”:“SUN”,“checked”:false,disabled:true},
{“name”:“Monday”,“value”:“Monday”,“id”:“MON”,“checked”:false,disabled:true},
{“名称”:“星期二”,“值”:“星期二”,“id”:“星期二”,“选中”:false,禁用:true},
{“名称”:“星期三”,“值”:“星期三”,“id”:“WED”,“checked”:false,disabled:true},
{“名称”:“星期四”,“值”:“星期四”,“id”:“THU”,“选中”:false,禁用:true},
{“名称”:“星期五”,“值”:“星期五”,“id”:“星期五”,“选中”:false,禁用:true},
{“name”:“Saturday”,“value”:“Saturday”,“id”:“SAT”,“checked”:false,disabled:true}
];
工作日。地图(日=>{
day.checked=daysActive.indexOf(day.value)!=-1;
});
控制台日志(工作日)
您可以在工作日
数组中使用映射
函数,查看该值是否存在于日活动
数组中
var daysacctive=[“星期一”、“星期二”、“星期三”];
var weekDays=[{“name”:“Sunday”,“value”:“Sunday”,“id”:“SUN”,“checked”:false,disabled:true},
{“name”:“Monday”,“value”:“Monday”,“id”:“MON”,“checked”:false,disabled:true},
{“名称”:“星期二”,“值”:“星期二”,“id”:“星期二”,“选中”:false,禁用:true},
{“名称”:“星期三”,“值”:“星期三”,“id”:“WED”,“checked”:false,disabled:true},
{“名称”:“星期四”,“值”:“星期四”,“id”:“THU”,“选中”:false,禁用:true},
{“名称”:“星期五”,“值”:“星期五”,“id”:“星期五”,“选中”:false,禁用:true},
{“name”:“Saturday”,“value”:“Saturday”,“id”:“SAT”,“checked”:false,disabled:true}
];
工作日。地图(日=>{
day.checked=daysActive.indexOf(day.value)!=-1;
});
控制台日志(工作日)代码>与@Vinesh解决方案相同:)
var daysActive=[“星期一”、“星期二”、“星期三”];
var工作日=[
{
姓名:“星期日”,
值:“星期日”,
id:“太阳”,
勾选:假,
残疾人士:对
},
{
姓名:“星期一”,
值:“星期一”,
id:“周一”,
勾选:假,
残疾人士:对
},
{
姓名:“星期二”,
值:“星期二”,
id:“星期二”,
勾选:假,
残疾人士:对
},
{
姓名:“星期三”,
值:“星期三”,
id:“WED”,
勾选:假,
残疾人士:对
},
{
姓名:“星期四”,
值:“星期四”,
id:“THU”,
勾选:假,
残疾人士:对
},
{
姓名:“星期五”,
值:“星期五”,
id:“星期五”,
勾选:假,
残疾人士:对
},
{
姓名:“星期六”,
值:“星期六”,
id:“SAT”,
勾选:假,
残疾人士:对
}
];
daysActive.forEach(dayActive=>{
const activeDay=weekDays.find(day=>day.value==dayActive);
activeDay.checked=!activeDay.checked;
});
控制台日志(工作日)代码>与@Vinesh解决方案相同:)
var daysActive=[“星期一”、“星期二”、“星期三”];
var工作日=[
{
姓名:“星期日”,
值:“星期日”,
id:“太阳”,
勾选:假,
残疾人士:对
},
{
姓名:“星期一”,
值:“星期一”,
id:“周一”,
勾选:假,
残疾人士:对
},
{
姓名:“星期二”,
值:“星期二”,
id:“星期二”,
勾选:假,
残疾人士:对
},
{
姓名:“星期三”,
值:“星期三”,
id:“WED”,
勾选:假,
残疾人士:对
},
{
姓名:“星期四”,
值:“星期四”,
id:“THU”,
勾选:假,
残疾人士:对
},
{
姓名:“星期五”,
值:“星期五”,
id:“星期五”,
勾选:假,
残疾人士:对
},
{
姓名:“星期六”,
值:“星期六”,
id:“SAT”,
勾选:假,
残疾人士:对
}
];
daysActive.forEach(dayActive=>{
const activeDay=weekDays.find(day=>day.value==dayActive);
activeDay.checked=!activeDay.checked;
});
控制台日志(工作日)代码>您可以结合使用
代码:
const daysActive=[“星期一”、“星期二”、“星期三”];
const weekDays=[{“name”:“Sunday”,“value”:“Sunday”,“id”:“SUN”,“checked”:false,disabled:true},
{“name”:“Monday”,“value”:“Monday”,“id”:“MON”,“checked”:false,disabled:true},
{“名称”:“星期二”,“值”:“星期二”,“id”:“星期二”,“选中”:false,禁用:true},
{“名称”:“星期三”,“值”:“星期三”,“id”:“WED”,“checked”:false,disabled:true},
{“名称”:“星期四”,“值”:“星期四”,“id”:“THU”,“选中”:false,禁用:true},
{“名称”:“星期五”,“值”:“星期五”,“id”:“星期五”,“选中”:false,禁用:true},
{“name”:“Saturday”,“value”:“Saturday”,“id”:“SAT”,“checked”:false,disabled:true}
];
const resultantDays=工作日.reduce((a,c)=>[…a,c.checked=daysActive.includes(c.value),c],);
console.log(resultdays)代码>
.as控制台包装{max height:100%!important;top:0;}
您可以与
代码:
const daysActive=[“星期一”、“星期二”、“星期三”];
const weekDays=[{“name”:“Sunday”,“value”:“Sunday”,“id”:“SUN”,“checked”:false,disabled:true},
{“name”:“Monday”,“value”:“Monday”,“id”:“MON”,“checked”:false,disabled:true},
{“名称”:“星期二”,“值”:“星期二”,“id”:“星期二”,“选中”:false,禁用:true},
{“名称”:“星期三”,“值”:“星期三”,“id”:“WED”,“checked”:false,disabled:true},
{“名称”:“星期四”,“值”:“星期四”,