Я новичок в JavaScript ES6. Я хочу преобразовать вложенный цикл в одиночный цикл в моем коде. У меня есть несколько примеров ниже, и кто-нибудь может мне помочь, как сделать его одиночным l oop. Возможно ли это для моего кода ниже. Насколько я знаю, в JavaScript вложенный l oop не очень хорош для производительности.
Нет 1:
getCountryNames = (cList, countryCodeList) => {
const list = [];
countryCodeList.forEach(code => {
cList.forEach(cjson => {
if (cjson.code === code) {
list.push(cjson.label);
}
});
});
return list;
}
Нет 2:
getITestList = () => {
const msgArr = this.state.bufferMsgList;
const arr = [];
msgArr.forEach(msg => {
let flag = true;
if (arr.length > 0) {
arr.forEach(data => {
if (data.id === msg.group_entity_id) {
flag = false;
}
});
}
if (flag) {
const json = {
id: msg.group_entity_id,
code: msg.group_entity_code,
};
arr.push(json);
}
});
return arr;
}
Нет 3:
getMsgWithTest = (list) => {
const responseArr = [];
if (list.length > 0) {
list.forEach(payload => {
const messageList = payload.messages;
if (messageList) {
messageList.forEach(msg => {
const mjson = Object.assign({}, msg);
mjson.group_entity_code = payload.group_entity_code;
mjson.group_entity_id = payload.group_entity_id;
responseArr.push(mjson);
});
}
});
}
return responseArr;
}
Нет 4:
this.state.defaultMessageList.forEach(payload => {
if (payload.messages) {
payload.messages.forEach(msg => {
filteredRegionBasedOnMsg.push(msg.regions);
filteredCountryBasedOnMsg.push(msg.country_codes);
});
}
});
Нет 5:
this.state.defaultMessageList.forEach(payload => {
if (payload.messages) {
payload.messages.forEach(msg => {
if (msg.status === 'ACTIVE') {
filteredCountryBasedOnMsg.push(msg.country_codes);
}
});
}
});