数组等于它自己

时间:2015-01-18 14:40:55

标签: javascript arrays

示例:

  Var Ape = 1;
    Var Banana = 5;
    Ape = Ape + Banana;
    document.write(Ape)

// = Ape等于自己+香蕉(5)= 6.

这很有趣也很简单,现在除了数组之外你怎么做同样的事情?就像上面的"数组语言"像我这样的假人。

Demonstration Example(not correct):
ape.banana= [10];
var gorilla = 5;
ape.banana[0] = ape.banana[0] + gorilla;
document.write(ape.banana[0])

// ape.banana [0]等于自己+ gorilla(5)= 15

最简单的方法是什么,最好的方法是什么?

4 个答案:

答案 0 :(得分:2)

尝试类似:

var ape = {banana: [10]};
var gorilla = 5;
ape.banana[0] = ape.banana[0] + gorilla;
document.write(ape.banana[0])

答案 1 :(得分:1)

function array_plus_int(array, int) {
    array = array.slice(0); // clone it
    array[0] += int;
    return array;
}
var ape = [ 10 ];
var banana = 5;
ape = array_plus_int(ape, banana);
document.write(ape);

您无法覆盖JavaScript中的默认数学运算符,因此您可以Ape = Ape + Banana代替Ape = plus(Ape, Banana)

现在,如何向数组中添加整数取决于您。我已经添加了一个示例实现。

这对我来说似乎是一个奇怪的实现。也许您希望Ape成为对象或monad而不是数组?

示例:

function create_ape() {
    var bananas = 0;
    return {
        give_bananas: function (num_bananas) {
            bananas += num_bananas;
        },
        get_num_bananas: function () {
            return bananas;
        }
    };
}

var ape = create_ape();
ape.give_bananas(5);
document.write(ape.get_num_bananas());

答案 2 :(得分:1)

更简单的方法是使用addition assignment运算符+=

var ape = { banana: [10] }, gorilla = 5;
document.write(ape.banana[0] += gorilla);

答案 3 :(得分:0)

数组用于存储类似的东西。

如果你需要将不同的东西放在一起,我们需要一个物体。

由于香蕉和猿是不同的东西,我们可能需要一个物体。 猿香蕉。因此,如果有许多猿和许多大猩猩,如果我们为每个大猩猩做一个数组会很好。我们也为每个猿分配一个数字,因为它不止一个。

var apes = [];
for(i = 0; i < 10; i++) {
  tempApe = {};
  tempApe.no = i + 1;
  tempApe.bananas = 2 * i;
}
//let there be a gorilla with 5 bananas
var gorilla = {bananas : 4};

//Adding apes.bananas and gorillas doesn't make sense
//Let's add bananas of ape number 2 and our only gorilla

var totalBananas = apes[1].bananas + gorilla.bananas;