Доступ к значениям массива Javascript

Я не знаю, почему, но вам нужно добавить отдельный тип возвращаемого значения:

public class HelloWorld{
static class Value<T> {
}

@FunctionalInterface
interface Bar<T,R> {
      R apply(Value<T> value); // Return type added
}

static class Foo {
  public static <T,R> R foo(Bar<T,R> callback) {
      return callback.apply(new Value<T>());
  }
}

void test() {
  System.out.println( Foo.foo(value -> true).booleanValue() ); // No compile error here
}
     public static void main(String []args){
         new HelloWorld().test();
     }
}

какой-нибудь умный парень, вероятно, может это объяснить.

0
задан Matt H 13 July 2018 в 21:39
поделиться

4 ответа

MDN ( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in ) говорит:

Примечание: для ... in не следует использовать для итерации по массиву, где важна последовательность индексов.

Кажется, что в вашем случае порядок важен.

Тем не менее вы можете проверить, в какой итерации вы:

result.indexOf(i)

, чтобы вы могли продолжить, пока ваш индекс итерации равен & lt; 4 вот так:

if(result.indexOf(i) < 4) continue;
1
ответ дан Chrioyles 17 August 2018 в 12:10
поделиться
  • 1
    Я отредактировал свой вопрос, пожалуйста, взгляните на новый вопрос. благодаря – Matt H 13 July 2018 в 21:39

Не можете ли вы выполнить цикл только через нужный диапазон?

var startIndex = 4 // 5th element

for(var i=startIndex; i < results.length; i++) {
    // (...)
}
2
ответ дан Felipe Lanza 17 August 2018 в 12:10
поделиться
  • 1
    Я отредактировал свой вопрос, пожалуйста, взгляните на новый вопрос. благодаря – Matt H 13 July 2018 в 21:39
for (let i = 4; i < result.length; i++) {
  console.log(result[i]);
}
0
ответ дан Geuis 17 August 2018 в 12:10
поделиться
  • 1
    Я отредактировал свой вопрос, пожалуйста, взгляните на новый вопрос. благодаря – Matt H 13 July 2018 в 21:40

Кто-то отправил ответ несколько минут назад, и это было правильно, и оно сработало, но по какой-то причине оно было удалено, поэтому я переношу его для всех, кто, возможно, пропустил его.

Вот он:

for(var i in result) {
                if (i < 5) continue;

                console.log(result[i].id);

                        if (alerted != result[i].id) {
                            $('#chatAudio')[0].play();

                            iziToast.show({
                                message: result[i].notification_text,
                                messageColor: '#424242',
                                backgroundColor: '#fff',
                                theme: 'light',
                                animateInside: true,
                                layout: 1,
                                close: false,
                                position: 'bottomLeft',
                                timeout: 5000,
                                progressBar: false
                            });

                            localStorage.setItem('alerted', result[i].id);
                        }
                }
1
ответ дан Matt H 17 August 2018 в 12:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: