如何用另一个对象中的值创建对象?

时间:2018-08-04 15:35:21

标签: javascript arrays object

我正在尝试创建一个对象,其中包含3个其他对象,这3个对象中的每个对象都有2个值。

这是我正在寻找的结果

  

{0:{x:1,y:3},1:{x:4,y:2},2:{x:5,y:0}}

我的代码:

let obj = {};
let oneToTen = Array.from(Array(2).keys());

obj[oneToTen] = {
    x: randomeNumber,
    y: randomeNumber
};

我不知道如何在x和y中推入随机数。

4 个答案:

答案 0 :(得分:1)

只要使用Array.from,您就可以在其中放置对象,然后将数组分解为on对象,这将为您提供索引作为键:

let oneToTen = Array.from({length: 3}, () => {
  return {
    x: Math.random(),
    y: Math.random()
  }
});

let obj = { ...oneToTen}

console.log(obj)

答案 1 :(得分:1)

使用for loop,您可以将计数器值用作对象键(自动强制转换为字符串),并在每个循环迭代中生成并分配子对象。

此代码将生成3个子对象,每个子对象包含一个随机值(范围为0-10)的xy

let obj={};
let maxChildren = 3; 

for(let i=0; i<maxChildren; i++){
  obj[ i ]={
    x: Math.floor(Math.random()*11),
    y: Math.floor(Math.random()*11)
  }
}


console.log(obj)

答案 2 :(得分:0)

  obj[oneToTen]

相同
 obj[[0, 1, 2]]

其结果将为:

 obj["0,1,2"]

因此,您实际上设置了一个属性。您要使用循环:

 for(let i = 0; i < 2; i++) {
   obj[i] = { /*...*/ };
 }

答案 3 :(得分:0)

您可以尝试这样的事情

namespace MSWordReplacement
{
    class Program
    {
        static void Main(string[] args)
        {
            Application app = new Application();
            Document doc = app.Documents.Open(@"C:\Sample.docx");

            // Assign a search string to a variable.
            object findText = "Find me.";

            // Clear formatting from previous searches.
            app.Selection.Find.ClearFormatting();

            if (app.Selection.Find.Execute(ref findText))
            {
                // Replace new text.
                app.Selection.Text = "You found me!";
            }
            else
            {
                // Do somthing else.
            }

            doc.Close(true);
            app.Quit();
        }
    }
}