プロパティ名がname、pref、およびtableのオブジェクトの配列があります。あるオブジェクトが他のオブジェクト名の値と同じpref値を持っているかどうかを確認する必要があります。私はいくつかのコードを書いたが、それは動作していないようだ。JavaScript:他のオブジェクトが別のプロパティで同じ値を持つ場合のオブジェクト値の変更
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();
私はあなたにスニペットを作った。可能な限り小さなコードで問題を表示するように短縮してください – mplungjan
@mplungjanああ、申し訳ありません。 – jscoder001
@ jscoder001、**あなたが本当にほしい**ことを知っていれば**(最後の3つの質問ではわかりません)、私はあなたを助けることができます。コードの目的と達成したいことを追加してください。 –