Продолжайте, только если нажата кнопка ENTER, еще раз попросите кнопку Enter [дублировать]

Массивы - это объекты в JavaScript, которые проходят по ссылке. Это означает, что при инициализации массива:

var array = [1, 2, 3];

Я создал ссылку на этот массив в памяти. Если я тогда скажу:

var otherArray = [1 2, 3];

array и otherArray имеют два отдельных адреса в памяти, поэтому они не будут равно друг другу (даже если значения равны.) Чтобы проверить проход по ссылке, вы можете играть вокруг с массивами:

var copyArray = array;

В этом случае copyArray ссылается на тот же адрес в памяти, что и на массив, поэтому:

copyArray === array; //will evaluate to true
array.push(4); //copyArray will now have values [1, 2, 3, 4];
copyArray.push(5); //array will have values [1, 2, 3, 4, 5];
copyArray === array; //still true

Чтобы проверить равенство значений в массив или объект, вам нужно сделать «глубокое сравнение» - для массивов это будет пересекать оба массива для сравнения индекса и значения, чтобы убедиться, что оба они равны - для объектов он будет пересекать каждый ключ и гарантирует, что значение будет одинаковым. Для более глубоких сравнений вы можете проверить источник аннотированных объектов underscore.js:

http://underscorejs.org/docs/underscore.html

0
задан Charles 21 April 2014 в 18:34
поделиться

2 ответа

Я думаю, это поможет вам

Scanner input= new Scanner(System.in);
String readString = input.nextLine();
while(readString!=null) {
    System.out.println(readString);
    if (readString.equals(""))
        System.out.println("Read Enter Key.");
    if (input.hasNextLine())
        readString = input.nextLine();
    else
        readString = null;
}
0
ответ дан Hamed Refaat 27 August 2018 в 17:03
поделиться

Вы можете прочитать строку, и если строка пуста, вы можете предположить, что она вводит ключ .. как ниже код ..

Scanner scanner = new Scanner(System.in);
String readString = scanner.nextLine();
System.out.println(readString);
if (readString.equals(""))
    System.out.println("Enter Key pressed.");
if (scanner.hasNextLine())
    readString = scanner.nextLine();
else
    readString = null;
1
ответ дан niiraj874u 27 August 2018 в 17:03
поделиться
Другие вопросы по тегам:

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