Когда по js коду прохожусь построчно с помощью breakpoitnt — всё нормально, когда запускаю целиком — работает неправильно. Что за дичь?
если что - вот он.
"use strict"
let users = [
{ name: "John", age: 20, surname: "Johnson" },
{ name: "Pete", age: 18, surname: "Peterson" },
{ name: "Ann", age: 19, surname: "Hathaway" }
];
function byField(aName) {
return function (a, b) {
if (a[aName] > b[aName]) {
return 1;
} else {
return -1;
}
}
}
console.log( users.sort(byField('age')) ); //выводит объект отсортированный по age
console.log( users.sort(byField('name')) ); //отсортированный по name
если пройти построчно с помощью breakpoint то всё нормально.
если запустить без breakpoint-ов, то оба вывода отсортированы по name.
запускал в Chrome и Яндекс.
Проблема была в том что console.log выводит не текст, а ссылку на объект и показывает содержимое объекта не на момент вызова console.log а на момент нажатия на стрелочку"Развернуть". Решение нашел в документации console.log.