基于对象数组中的对象属性组合对象

存储原始警报以备后用。通过空函数或设置参数替换警报以写入控制台。

如果需要正常的警报返回,请将存储的警报取回。


alertOrig = alert;

function alertBan(consoleLog){

    alert = function(e) {

        if (consoleLog) console.log(e);

    }

}


function alertEnable(){

   if ( alertOrig )

       alert=alertOrig;

}


alertBan();

alert('No console + no alert');


alertBan(true);

alert('With console');


alertEnable();

alert('Normal alert');


米脂
浏览 171回答 4
4回答

心有法竹

我的尝试<script>&nbsp; &nbsp; var array = [{&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "heure1": "14:00",&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "heure2": "17:00",&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "DAY": "Sunday",&nbsp; &nbsp; &nbsp; &nbsp; },&nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "heure1": "08:00",&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "heure2": "13:00",&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "DAY": "Sunday",&nbsp; &nbsp; &nbsp; &nbsp; },&nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "heure1": "14:00",&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "heure2": "16:00",&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "DAY": "Monday",&nbsp; &nbsp; &nbsp; &nbsp; },&nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "heure1": "08:00",&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "heure2": "18:00",&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "DAY": "Monday",&nbsp; &nbsp; &nbsp; &nbsp; },&nbsp; &nbsp; ];&nbsp; &nbsp; var days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Sunday", "Saturday"];&nbsp; &nbsp; var result = [];&nbsp; &nbsp; days.map(function (day) {&nbsp; &nbsp; &nbsp; &nbsp; var daysInArray = array.filter(function (a) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return day == a.DAY&nbsp; &nbsp; &nbsp; &nbsp; })&nbsp; &nbsp; &nbsp; &nbsp; // console.log(daysInArray);&nbsp; &nbsp; &nbsp; &nbsp; if (daysInArray.length) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; time = [];&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; daysInArray.map(function (item, i) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for (var key in item) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (daysInArray[0].hasOwnProperty(key) && key != "DAY") {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; time.push(item[key])&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; })&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; result.push({&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "day": day,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "heure": time&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; })&nbsp; &nbsp; &nbsp; &nbsp; } else {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; result.push({&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "day": day,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "heure": []&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; })&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; })&nbsp; &nbsp; console.log(result);</script>

繁花如伊

您可以先为一周的 7 天创建 7 个条目,每个条目的heure属性都有一个空数组。然后迭代原始数据,查找正确的条目,将两次推入heure数组。请注意,您的Day属性在示例输入中有不同的拼写(DAY、Day)。我强烈建议对此类属性名称使用全部小写字母。这是一个实现:var array =&nbsp; [{"heure1": "14:00","heure2": "17:00","day": "Sunday",}, {"heure1": "08:00","heure2": "13:00","day": "Sunday",}, {"heure1": "14:00","heure2": "16:00","day": "Monday",}, {"heure1": "08:00","heure2": "18:00","day": "Monday", },];let days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"];let obj = Object.fromEntries(days.map(day => [day, { heure: [], day }]));for (let {heure1, heure2, day} of array) obj[day].heure.push(heure1, heure2);let result = Object.values(obj);console.log(result);

不负相思意

我的方式...var arr_1 =&nbsp;&nbsp; &nbsp; [ { heure1: '14:00', heure2: '17:00', day: 'Sunday' }&nbsp;&nbsp; &nbsp; , { heure1: '08:00', heure2: '13:00', day: 'Sunday' }&nbsp;&nbsp; &nbsp; , { heure1: '14:00', heure2: '16:00', day: 'Monday' }&nbsp;&nbsp; &nbsp; , { heure1: '08:00', heure2: '18:00', day: 'Monday' }&nbsp;&nbsp; &nbsp; ]&nbsp;const days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']const res = days.map(d=>&nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; let r = { heure:[], day:d }&nbsp; &nbsp; &nbsp; &nbsp; arr_1.filter(x=>x.day===d)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.forEach(({heure1,heure2})=> { r.heure.push(heure1,heure2) })&nbsp; &nbsp; &nbsp; &nbsp; r.heure.sort()&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; return r&nbsp; &nbsp; &nbsp; &nbsp; })console.log( res&nbsp; ).as-console-wrapper { max-height: 100% !important; top: 0; }

幕布斯6054654

那个结果结构是必要的吗?如果不是,修改结果结构,你可以这样做:const getHeureByDay = (heureArray) => {&nbsp; let result = {&nbsp; &nbsp; Sunday: { heure: [] },&nbsp; &nbsp; Monday: { heure: [] },&nbsp; &nbsp; Tuesday: { heure: [] },&nbsp; &nbsp; Wednesday: { heure: [] },&nbsp; &nbsp; Thursday: { heure: [] },&nbsp; &nbsp; Friday: { heure: [] },&nbsp; &nbsp; Saturday: { heure: [] },&nbsp; };&nbsp;&nbsp;&nbsp; heureArray.forEach((heureItem) => {&nbsp; &nbsp; Object.keys(heureItem).forEach((key) => {&nbsp; &nbsp; &nbsp; if (key !== "day") {&nbsp; &nbsp; &nbsp; &nbsp; result[heureItem.day].heure.push(heureItem[key]);&nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; })&nbsp; });&nbsp;&nbsp;&nbsp; return result;};const heureArray = [&nbsp; {&nbsp; &nbsp; "heure1": "14:00",&nbsp; &nbsp; "heure2": "17:00",&nbsp; &nbsp; "day": "Sunday",&nbsp; },&nbsp; {&nbsp; &nbsp; "heure1": "08:00",&nbsp; &nbsp; "heure2": "13:00",&nbsp; &nbsp; "day": "Sunday",&nbsp; },&nbsp; &nbsp; &nbsp;{&nbsp; &nbsp; "heure1": "14:00",&nbsp; &nbsp; "heure2": "16:00",&nbsp; &nbsp; "day": "Monday",&nbsp; },&nbsp; &nbsp; &nbsp;{&nbsp; &nbsp; "heure1": "08:00",&nbsp; &nbsp; "heure2": "18:00",&nbsp; &nbsp; "day": "Monday",&nbsp; }];console.log(getHeureByDay(heureArray));
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript