Size: a a a

JavaScript — русскоговорящее сообщество

2020 September 10

E

Evgen in JavaScript — русскоговорящее сообщество
Ilya Vegner
Подгружаю в iframe свой сайт и в нём подключаю script локально, я в этом скрипте делаю window.postMessage(uuid, '*');
и теперь мне нужно ловить этот message на сайте, в котором подключём этот iframe
После загрузки сайта на котором стоит iframe с моим сайтом я делаю

window.addEventListener("message", function(e) {
    console.log(e)
   })

Но сообщение почему-то не доходит, что я делаю не так?
window.top.postMessage
источник

IV

Ilya Vegner in JavaScript — русскоговорящее сообщество
Evgen
window.top.postMessage
Спасибо большое
источник

CT

Cheena Tursunaliyev in JavaScript — русскоговорящее сообщество
module.exports = function (inputData, inputDictionary) {
   inputData.sort(function(a, b) {
     return a[geometry][0] - b[geometry][0];
   });
   var res = '';
   inputData = inputData.map((el) => el[text])
   for (var i = 0, len = inputData.length; i < len; i++) {
  if (!(inputDictionary.indexOf(inputData[i]) > -1))
       return 'Unreadable message'
     res += inputData[i] + ' '
}
   return res
}


не подскажет кто как можно это оптимизировать по скорости?

что-то не могу в одном цикле отсортировать и сложить строки

const data = [  
   {  
       geometry: [10, 20],  
       text: 'James'  
   },  
   {  
       geometry: [20, 40],  
       text: 'Bond'
   },  
   {  
       geometry: [5, 40],  
       text: 'Bond'  
   }  
];
const dictionary = ['James', 'Bond'];
источник

L

Looch in JavaScript — русскоговорящее сообщество
Cheena Tursunaliyev
module.exports = function (inputData, inputDictionary) {
   inputData.sort(function(a, b) {
     return a[geometry][0] - b[geometry][0];
   });
   var res = '';
   inputData = inputData.map((el) => el[text])
   for (var i = 0, len = inputData.length; i < len; i++) {
  if (!(inputDictionary.indexOf(inputData[i]) > -1))
       return 'Unreadable message'
     res += inputData[i] + ' '
}
   return res
}


не подскажет кто как можно это оптимизировать по скорости?

что-то не могу в одном цикле отсортировать и сложить строки

const data = [  
   {  
       geometry: [10, 20],  
       text: 'James'  
   },  
   {  
       geometry: [20, 40],  
       text: 'Bond'
   },  
   {  
       geometry: [5, 40],  
       text: 'Bond'  
   }  
];
const dictionary = ['James', 'Bond'];
какой тебе нужен результат в конце ?
источник

CT

Cheena Tursunaliyev in JavaScript — русскоговорящее сообщество
Looch
какой тебе нужен результат в конце ?
строка из строк отсортированных по geometry[0]
источник

L

Looch in JavaScript — русскоговорящее сообщество
Cheena Tursunaliyev
строка из строк отсортированных по geometry[0]
ну пример напиши плиз, я что-то не понимаю
источник

CT

Cheena Tursunaliyev in JavaScript — русскоговорящее сообщество
Cheena Tursunaliyev
module.exports = function (inputData, inputDictionary) {
   inputData.sort(function(a, b) {
     return a[geometry][0] - b[geometry][0];
   });
   var res = '';
   inputData = inputData.map((el) => el[text])
   for (var i = 0, len = inputData.length; i < len; i++) {
  if (!(inputDictionary.indexOf(inputData[i]) > -1))
       return 'Unreadable message'
     res += inputData[i] + ' '
}
   return res
}


не подскажет кто как можно это оптимизировать по скорости?

что-то не могу в одном цикле отсортировать и сложить строки

const data = [  
   {  
       geometry: [10, 20],  
       text: 'James'  
   },  
   {  
       geometry: [20, 40],  
       text: 'Bond'
   },  
   {  
       geometry: [5, 40],  
       text: 'Bond'  
   }  
];
const dictionary = ['James', 'Bond'];
для этих данных: Bond James Bond
источник

D

Danila in JavaScript — русскоговорящее сообщество
Cheena Tursunaliyev
module.exports = function (inputData, inputDictionary) {
   inputData.sort(function(a, b) {
     return a[geometry][0] - b[geometry][0];
   });
   var res = '';
   inputData = inputData.map((el) => el[text])
   for (var i = 0, len = inputData.length; i < len; i++) {
  if (!(inputDictionary.indexOf(inputData[i]) > -1))
       return 'Unreadable message'
     res += inputData[i] + ' '
}
   return res
}


не подскажет кто как можно это оптимизировать по скорости?

что-то не могу в одном цикле отсортировать и сложить строки

const data = [  
   {  
       geometry: [10, 20],  
       text: 'James'  
   },  
   {  
       geometry: [20, 40],  
       text: 'Bond'
   },  
   {  
       geometry: [5, 40],  
       text: 'Bond'  
   }  
];
const dictionary = ['James', 'Bond'];
data.sort((a,b)=>a.geometry[0] - b.geometry[0]).map(o => o.text).join(' ')
источник

CT

Cheena Tursunaliyev in JavaScript — русскоговорящее сообщество
ну то есть есть массив объектов с двумя полями, первое поле число, для сортровки объектов, второе поле для уже конкатинации слов после сорта
источник

L

Looch in JavaScript — русскоговорящее сообщество
так зачем тогда inputDictionary ? надо проверить если в нем это слово вообще ?
источник

А

Андрей in JavaScript — русскоговорящее сообщество
А вот это обидно было
источник

CT

Cheena Tursunaliyev in JavaScript — русскоговорящее сообщество
Danila
data.sort((a,b)=>a.geometry[0] - b.geometry[0]).map(o => o.text).join(' ')
спасибо, а с проверкой внутри сорта можно сделать?
проверкой на то, что если слова нет в inputDictionary то выход их фукнции
источник

CT

Cheena Tursunaliyev in JavaScript — русскоговорящее сообщество
Looch
так зачем тогда inputDictionary ? надо проверить если в нем это слово вообще ?
да
источник

D

Danila in JavaScript — русскоговорящее сообщество
Cheena Tursunaliyev
спасибо, а с проверкой внутри сорта можно сделать?
проверкой на то, что если слова нет в inputDictionary то выход их фукнции
Нет
источник

D

Danila in JavaScript — русскоговорящее сообщество
Зачем этот dictionary?
источник

L

Looch in JavaScript — русскоговорящее сообщество
тогда тебе нужен фильтр еще
источник

D

Danila in JavaScript — русскоговорящее сообщество
Нужно чтобы были только слова которые в нём есть?
источник

L

Looch in JavaScript — русскоговорящее сообщество
Danila
Зачем этот dictionary?
там проверка должна быть
источник

D

Danila in JavaScript — русскоговорящее сообщество
Тогда ещё фильтр
источник

CT

Cheena Tursunaliyev in JavaScript — русскоговорящее сообщество
Danila
Нужно чтобы были только слова которые в нём есть?
да, иначе останова
источник