如何在javascript数组中显示更新的元素

时间:2014-01-29 15:19:06

标签: javascript

我有一个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;
            },

2 个答案:

答案 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