Мне нужно создать функцию, которая вводит новое значение в пустой массив, а затем значение остается в массиве, даже если значение изменяется. Позвольте мне объяснить на примере, и я до сих пор:
var arr = [];
arr.unshift("f");
if (arr.length > 6) {
arr.pop();
}
console.log(arr);
arr.unshift("e");
if (arr.length > 6) {
arr.pop();
}
console.log(arr);
arr.unshift("d");
if (arr.length > 6) {
arr.pop();
}
console.log(arr);
arr.unshift("c");
if (arr.length > 6) {
arr.pop();
}
console.log(arr);
arr.unshift("b");
if (arr.length > 6) {
arr.pop();
}
console.log(arr);
arr.unshift("a");
if (arr.length > 6) {
arr.pop();
}
console.log(arr);
arr.unshift("z");
if (arr.length > 6) {
arr.pop();
}
console.log(arr);
Здесь в пустом массиве новое значение вводится в первую позицию и остается в массиве arr. Это то, что я получаю в консоли:
(6) ["f"]
(6) ["e", "f"]
(6) ["d", "e", "f"]
(6) ["c", "d", "e", "f"]
(6) ["b", "c", "d", "e", "f"]
(6) ["a", "b", "c", "d", "e", "f"]
(6) ["z", "a", "b", "c", "d", "e"]
чего я хочу достичь. Вместо этих значений мне нужен var, который будет регулярно обновляться.
var newValue = value_to_be_updated;
function myFunction(newValue) {
var arr = [];
arr.unshift(newValue);
return arr
}
if (arr.length > 6) {
arr.pop();
}
Моя цель - уменьшить приведенный выше код и сделать его функцией, но не может найти ничего полезного. Также есть ли способ, которым вводимое значение остается в массиве, даже если оно удалено из var?
Любая помощь будет чрезвычайно оценена !!!!!
заранее спасибо
Вы должны получать новое значение динамически, используя, например, подсказку, если вы ожидаете, что значение arr
останется неизменным после изменения исходного кода, который не будет работать. Тем не менее @gurvinder372 сказал, что ваша функция должна выглядеть примерно так
var arr = [];
function myFunction(newValue) {
arr.unshift(newValue);
if (arr.length > 6) {
arr.pop();
}
return arr
}
то для его использования вы можете сделать что-то подобное
for (var i = 0; i<8; i++){
var value = prompt('enter char');
myFunction(value);
}
var arr = []; function myFunction(newValue) { arr.unshift(newValue); if (arr.length > 6) { arr.pop(); } return arr } console.log(arr); for (var i = 0; i<8; i++){ var value = "t"; myFunction(value); }
, поскольку мне не нужно приглашение, но я буду время от времени изменять значение. И цикл for только повторяет одно и то же значение, вставленное 6 раз.
if
внутри самойfunction
, непосредственно передreturn
. Ваш код должен работать. Можете ли вы создать проверяемый фрагмент кода с помощью<>
?