{ "n1": 1, "n2": 5, "n3": 11, "n4": 12 } => "[1,5,11,12]"
{ "n1": 1, "n2": 5, "n3": 12, "n4": 11 } => "[1,5,11,12]"
const makeHash = (obj) => JSON.stringify(Object.values(obj).sort((a, b) => a - b));
const hashes = list.map(makeHash);
const result = list.filter((el, i) => i === hashes.indexOf(makeHash(el)))
[
{
"n1": 18,
"n2": 1,
"n3": 5,
"n4": 17
},
{
"n1": 1,
"n2": 2,
"n3": 11,
"n4": 6
},
{
"n1": 1,
"n2": 5,
"n3": 11,
"n4": 12
},
{
"n1": 6,
"n2": 17,
"n3": 12,
"n4": 1
},
{
"n1": 4,
"n2": 7,
"n3": 8,
"n4": 20
},
{
"n1": 2,
"n2": 3,
"n3": 8,
"n4": 7
},
{
"n1": 2,
"n2": 8,
"n3": 7,
"n4": 6
},
{
"n1": 14,
"n2": 15,
"n3": 11,
"n4": 10
},
{
"n1": 11,
"n2": 8,
"n3": 16,
"n4": 15
},
{
"n1": 11,
"n2": 12,
"n3": 6,
"n4": 14
},
{
"n1": 17,
"n2": 12,
"n3": 5,
"n4": 1
},
{
"n1": 8,
"n2": 9,
"n3": 13,
"n4": 19
},
{
"n1": 8,
"n2": 9,
"n3": 19,
"n4": 15
},
{
"n1": 10,
"n2": 9,
"n3": 15,
"n4": 8
},
{
"n1": 11,
"n2": 12,
"n3": 17,
"n4": 6
}
]
file_get_contents()
получает просто строку текста. Чтобы содержащийся в нём JavaScript выполнился, нужен браузер или что-то, его имитируеющее.try .. catch
this.loadData().then(response => {
if (
response
&& response.data
&& response.data.users
&& response.data.users.length
) {
this.usersLocal = response.data.users
}
})
выводится при каждой третьей итерации цикла, как это записать?
%
for (let i = 0; i < 5; i++) {
for (let j = 0; j < 10; j++) {
if (j % 3 === 0) {
console.log("Это 0, 3, 6, 9, ... итерация внутреннего цикла");
}
if (j % 3 === 2) {
console.log("Это 2, 5, 8, ... итерация внутреннего цикла");
}
}
}
function checkAge(age) {
var result; // объявили переменную внутри функции
if (age > 18) {
result = true;
} else {
result = confirm('А родители разрешили?'); // confirm() вернёт true или false
// в переменной result теперь либо true либо false
}
return result; // в любом случае функция вернёт true или false
}
При сравнении значений разных типов JavaScript приводит каждое из них к числу.источник: Сравнение разных типов
const arr = [];
let a = arr;
let b = arr;
a == b // true
let c = []; // одна область памяти
let d = []; // другая область памяти
c == d // false
const words = ['я', 'буду', 'сопровождать', 'свои', 'вопросы', 'на', 'Тостере', 'примерами', 'кода', ',', 'обещаю', '!', ];
const columns = [[], [], [], [],];
words.forEach((word, i) => columns[i % columns.length].push(word));
// [["я","вопросы","кода"], ["буду","на",","], ["сопровождать","Тостере","обещаю"], ["свои","примерами","!"]]
1000 = 2 * 2 * 2 * 5 * 5 * 5
2 * 500
4 * 250
5 * 200
8 * 125
10 * 100
20 * 50
25 * 40
и зеркальные.(?<= )
. IE, Safari – тоже.eval()
и слеши в ключах regCon
:'function' : '<span style="color: red">',
// ...
new RegExp(o, 'gim')
execute()
— он позволяет выполнить несложный код, на похожем на JS языке, на стороне сервера ВК:const code = `
var offset = 0;
var step = 5000;
var result = API.friends.get({"offset":offset, "count":step});
var friends = result.items;
var total = result.count;
while(friends.length < total) {
offset = offset + step;
friends = friends + API.friends.get({
"offset": offset,
"count": step,
}).items;
}
return friends;
`;
new Promise((res, rej) => {
$.ajax({
url: 'https://api.vk.com/method/execute',
method: 'POST',
data: {
code: code,
v: '5.103',
access_token: 'SECRET',
},
success: data => res(data),
error: err => rej(err),
});
}).then(data => {
console.log('Все друзья:', data);
})
.catch(err => console.error(err));
var url = '/partners/ajax.php';
var obfuscated = url.split('')
.map(c => '\\x' + c.charCodeAt(0).toString(16).toUpperCase())
.join('');
// "\\x2F\\x70\\x61\\x72\\x74\\x6E\\x65\\x72\\x73\\x2F\\x61\\x6A\\x61\\x78\\x2E\\x70\\x68\\x70"
alert(obfuscated); // \x2F\x70\x61\x72\x74\x6E\x65\x72\x73\x2F\x61\x6A\x61\x78\x2E\x70\x68\x70