Ich habe ein Array von Objekten mit den Eigenschaften name, pref und table. Ich muss prüfen, ob ein Objekt den gleichen Präferenzwert hat wie jeder andere Objektname. Ich habe etwas Code geschrieben, aber es scheint nicht zu funktionieren.JavaScript: Ändern des Objektwerts, wenn ein anderes Objekt denselben Wert in einer anderen Eigenschaft hat
function seat() {
for (var i = 0; i < data.length; i++) {
if (data[i].pref != "") {
for (var c = 0; c < data.length; c++) {
if (data[i].pref == data[c].name) {
data[i].table = data[c].table
console.log(data[i].table + "first pref val");
console.log(data[c].table + "second pref val");
}
}
}
function randomize() {
let counts = [
[1, 6],
[2, 6],
[3, 6],
[4, 6]
];
data.forEach(obj => {
let i = Math.floor(Math.random() * counts.length);
obj.table = 'table' + counts[i][0];
if (--counts[i][1] == 0) counts.splice(i, 1);
})
}
randomize(1, 4);
console.log(data);
console.log("Right here ^");
};
};
var data = [{
name: "",
pref: "",
table: ""
},
{
name: "",
pref: "",
table: ""
},
{
name: "",
pref: "",
table: ""
},
{
name: "",
pref: "",
table: ""
},
{
name: "",
pref: "",
table: ""
},
{
name: "",
pref: "",
table: ""
},
{
name: "",
pref: "",
table: ""
},
{
name: "",
pref: "",
table: ""
},
{
name: "",
pref: "",
table: ""
},
{
name: "",
pref: "",
table: ""
},
{
name: "",
pref: "",
table: ""
},
{
name: "",
pref: "",
table: ""
},
{
name: "",
pref: "",
table: ""
},
{
name: "",
pref: "",
table: ""
},
{
name: "",
pref: "",
table: ""
},
{
name: "",
pref: "",
table: ""
},
{
name: "",
pref: "",
table: ""
},
{
name: "",
pref: "",
table: ""
},
{
name: "",
pref: "",
table: ""
},
{
name: "",
pref: "",
table: ""
},
{
name: "",
pref: "",
table: ""
},
{
name: "",
pref: "",
table: ""
},
{
name: "",
pref: "",
table: ""
},
{
name: "",
pref: "",
table: ""
},
];
seat();
Ich habe dir ein Schnipsel gemacht. Bitte kürzen Sie es, um das Problem mit so wenig Code wie möglich zu zeigen – mplungjan
@mplungjan Oh, tut mir leid. – jscoder001
@ jscoder001, wenn ich wüsste, was du ** wirklich willst ** (und die letzten drei Fragen machen es nicht klar), könnte ich dir helfen. Bitte fügen Sie den Zweck des Codes und was Sie gerne erreichen möchten. –