【发布时间】:2014-09-27 08:41:23
【问题描述】:
大家好,我是编码新手,我想知道如何在不知道这些对象是什么的情况下找出数组是否有重复的对象,而不管它们的顺序如何?例如:
我创建一个空数组:
var random_array = [];
然后我使用一个函数来推送该数组中的对象,所以我最终得到:
var random_array = [ball, ball, tree, ball, tree, bus, car];
在上面的数组中我们有:
3 球、2 棵树、1 辆公共汽车、1 辆汽车。
那么我怎么才能知道这些重复的数字呢?我应该使用 for 循环还是什么?无论如何,我是编码新手,所以请多多包涵。提前致谢!
编辑:
好的,这是我的简单代码:
function Product(name, price) {
this.name = name;
this.price = price;
}
var register = {
total: 0,
list: [],
add: function(Object, quant) {
this.total += Object.price * quant;
for (x=0; x <quant; x++) {
this.list.push(Object);
}
},
undo: function() {
var last_item = this.list[this.list.length - 1];
this.total -= last_item.price;
this.list.pop(this.list[this.list.length - 1]);
},
print: function() {
console.log("Super Random Market");
for (x = 0; x < this.list.length; x++) {
console.log(this.list[x].name + ": " + this.list[x].price.toPrecision(3));
}
console.log("Total: " + this.total.toFixed(2));
}
}
var icecream_1 = new Product("Chocolate Icecream", 2.30);
var cake_1 = new Product("Chocolate cake", 4.00);
register.add(icecream_1, 5);
register.add(cake_1, 3);
register.print();
我正在尝试构建一个收银机,并且我正在尝试找出如何仅将商品的数量打印一次,而不是多次打印。
【问题讨论】:
-
一个对象不能重复,因为没有两个对象是相同的?您将数组、对象、字符串和未定义的变量混在一起,所以很难理解您真正要问的是什么?
-
您需要检查具有相同属性值的相同类型的对象还是仅检查相同类型的对象?
-
欢迎编码,欢迎使用 stackoverflow。很难帮助您,因为您没有尝试任何事情或展示您已经完成的任何事情。我们的社区旨在帮助您学习,而不是为您做事。尝试循环。看看它是否有效,如果遇到问题,请在此处发布。
-
@Luka,具有相同属性值的相同类型的对象。
标签: javascript arrays