messages.sort((a, b) => {
[ a, b ] = [ a, b ].map(n => sortableLanguages.indexOf(n.language));
return a === -1 ? 1 : b === -1 ? -1 : a - b;
});
const sorted = (arr, key) => arr
.map(n => [ n, key(n) ])
.sort((a, b) => a[1] - b[1])
.map(n => n[0]);
const order = Object.fromEntries(sortableLanguages.map((n, i) => [ n, i + 1 ]));
const sortedMessages = sorted(messages, n => order[n.language] || Number.MAX_SAFE_INTEGER);
// или
function sorted(arr, order, key) {
const ordered = new Map(order.map(n => [ n, [] ]));
const unordered = [];
arr.forEach(n => (ordered.get(key(n)) || unordered).push(n));
return [].concat(...ordered.values(), unordered);
}
const sortedMessages = sorted(messages, sortableLanguages, n => n.language);
<project
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
...
</project>
data: () => ({
width: 0,
}),
computed: {
itemSize() {
return this.width > 700 ? 46 : 56;
},
},
methods: {
onResize() {
this.width = window.innerWidth;
},
},
created() {
this.onResize();
window.addEventListener('resize', this.onResize);
},
beforeDestroy() {
window.removeEventListener('resize', this.onResize);
},
// или
data: () => ({
itemSize: null,
}),
created() {
const mql = window.matchMedia('(max-width: 700px)');
const onChange = () => this.itemSize = mql.matches ? 56 : 46;
onChange();
mql.addEventListener('change', onChange);
this.$on('hook:beforeDestroy', () => mql.removeEventListener('change', onChange));
},
:item-size="itemSize"
class MyThread
{
public static void main(String[] args)
{
// Создаем расширение стандартного класса Thread с переопределением метода run()
Thread thread = new Thread()
{
public void run()
{
System.out.println("Child Thread");
}
};
thread.start();
System.out.println("Main Thread");
}
}
Можно ли начинать с питона?Можно.
питон не расскажет тебе что такое память компа, как лучше писать код и т.пЯзык программирования это инструмент, как молоток, или топор. Он и не должен ничего рассказывать.
вот вопрос, неужели чтоб на нем начать писать мне надо сначала изучить C/C++?Нет.
И так ли сложно понимать другие языки после питона?Без разницы. Люди умеющие водить машину без проблем умудряются работать пилотами, машинистами, и капитанами морских судов, и даже ездят на велосипеде Им никак не мешает тот факт, что начали они с управления автомобилем.
Основой посыл - более высокая зарплатанет