使用Javascript重复数组中的值的函数

时间:2017-10-26 13:27:27

标签: javascript arrays

我需要创建一个函数,将一个新值输入一个空数组,然后该值保留在数组中,即使该值发生变化。让我解释一下我到目前为止的一个例子:

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?

中删除

任何帮助都将非常感谢!!!!!

提前致谢

1 个答案:

答案 0 :(得分:0)

如果在更改无效的源代码后期望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);
}