我有一个javascript问题。假设我有一个输入框,用户可以输入值,我将它们存储在一个数组中并显示数组。值如:
apple 8, orange 4, pear 10, orange 3.
我想要做的是显示最新更新的增值,这样当用户想看到他们看到的值时(数组中的所有值加上最新的更新值)所以我不想显示橙色4!我想要显示橙色3。
apple 8, pear 10, orange 3. //numbers are quantity of fruits that I randomly set
所以数量为4的橙色被替换为数量为3的橙色。这是我创建数组的代码,我想我应该使用键值存储或哈希代替,显示最后更新的值,你能不能给我任何暗示?感谢
this.fruitArray.push(inputData);
this.fruitArray = this.removeDuplicate(this.fruitArray);
if(inputData !== "" ){
$('#displayBox').html(this.fruitArray);
}
removeDuplicate: function(Arr){
var cur, found;
for (i = Arr.length - 1; i >= 0; i--) {
cur = Arr[i];
found = false;
for (j = i - 1; !found && j >= 0; j--) {
if (cur === Arr[j]) {
if (i !== j) {
Arr.splice(i, 1);
}
found = true;
}
}
}
return Arr;
},
答案 0 :(得分:0)
如果你想要刚刚添加到数组中的数组的最后一个元素,那么使用下面的语句。
this.fruitArray.push[this.fruitArray.length-1]
答案 1 :(得分:0)
如果您只想访问数组的最后一个元素,可以这样做:
var lastElement = myArray[myArray.length-1]
在你的情况下:
$('#displayBox').html(fruitArray[fruitArray.length -1]);
示例:FIDDLE
- EDIT ---------------------------
仍然不确定您尝试实现的目标,但是您可以将最后一个水果更新存储在另一个变量中吗?
var fruitArray = [];
var lastFruitUpdate = "";
...
if(inputData !== "" ){
lastFruitUpdate = inputData;
if(fruitArray[inputData] != undefined){
fruitArray[inputData]++;
}else{
fruitArray[inputData] = 1;
}
$('#displayBox').html(lastFruitUpdate+"( "+fruitArray[lastFruitUpdate]+")");
}
示例:FIDDLE