Выполнить код



  • var restaurants = [
    {
        name: "Dan's Hamburgers",
        price: 'Cheap',
        cuisine: 'Burger' },
    
    {
        name: "Whataburger",
        price: 'Moderate',
        cuisine: 'Burger' },
    
    {
        name: "Chuy's",
        cuisine: 'Tex-Mex',
        price: 'Moderate' },
    
    {
        name: "Taquerias Arandina",
        cuisine: 'Tex-Mex',
        price: 'Cheap' },
    
    {
        name: "El Alma",
        cuisine: 'Tex-Mex',
        price: 'Expensive' },
    
    {
        name: "Maudie's",
        cuisine: 'Tex-Mex',
        price: 'Moderate' }];
    
    const isBurger = ({cuisine}) => cuisine === 'Burger';
    const burgerJoints = restaurants.filter(isBurger);�
    

    Почему это не работает кто может объяснить? Пытаюсь отфильтровать рестораны у которых есть бургеры))


  • administrators

    @assd Кто то читает уроки по методу filter() :D

    var restaurants = [
    {
        name: "Dan's Hamburgers",
        price: 'Cheap',
        cuisine: 'Burger' },
    
    {
        name: "Whataburger",
        price: 'Moderate',
        cuisine: 'Burger' },
    
    {
        name: "Chuy's",
        cuisine: 'Tex-Mex',
        price: 'Moderate' },
    
    {
        name: "Taquerias Arandina",
        cuisine: 'Tex-Mex',
        price: 'Cheap' },
    
    {
        name: "El Alma",
        cuisine: 'Tex-Mex',
        price: 'Expensive' },
    
    {
        name: "Maudie's",
        cuisine: 'Tex-Mex',
        price: 'Moderate' }];
    
    const isBurger = function(a){ return a.cuisine === 'Burger'; }
    const burgerJoints = restaurants.filter(isBurger);
    

    Почему это не работает кто может объяснить?

    Потому что в BAS не работают стрелочные функции и обращение к свойству объекта из параметров функции и ещё много чего из ECMAScript 6 (не уверен на счёт версии)

    @support said in javascript engine?:

    Используется реализация, которая поддерживает стандарт ECMA-262.

    В июне 1998 года общее собрание ECMA одобрило вторую редакцию ECMA-262. Три месяца назад 20 лет исполнилось, а я пропустил..



  • @fox а почему у меня сохраняется не название ресторанов а вот это [object Object],[object Object]� ?
    Да пытаю разобраться))на мой взгляд полезный метод,или может есть альтернатива по лучше?


  • administrators

    @assd

    @fox а почему у меня сохраняется не название ресторанов а вот это [object Object],[object Object]� ?

    Из за строкового преобразования объекта действием "лог", стандартным строковым представлением пользовательского объекта является строка "[object Object]".

    Вывести в лог можно свойство объекта

    burgerJoints[0].name
    

    0_1539934699736_1163cd55-f024-4e2c-b603-0d15ac2e3d26-изображение.png
    Вот тестовый скрипт