首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何创建具有N个属性的对象的N(数字)函数?

如何创建具有N个属性的对象的N(数字)函数?
EN

Stack Overflow用户
提问于 2021-07-31 18:40:52
回答 2查看 79关注 0票数 0

我试图在JS中(也在Go中)创建一个函数,使N个对象具有N个属性。

我想要一个函数,返回N个具有N个属性的对象。所以我得到了这个

代码语言:javascript
复制
function objects(name, age, idioms,school) { 
    this.name = name;
    this.age = age;
    this.idioms= idioms;
    this.school = school;
}

我都不知道该怎么做了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-07-31 19:22:53

这只是maps在golang中的一个简单例子。您还可以使用与固定道具一起使用structs的类似逻辑。函数接受一个int值N和一个字符串数组,这两个字符串数组是支持的。

代码语言:javascript
复制
package main

import (
    "fmt"
)

func createDynamicMap(n int, pr []string) ([]map[string]interface{}) {
    var listOfMap []map[string]interface{}
    for i := 0; i < n; i++ {
        dm := make(map[string]interface{})
        for _, v := range pr {
            if _, ok := dm[v]; !ok {
                dm[v] = nil // all props initialised as nil
            }
        }
        listOfMap = append(listOfMap, dm)
    }
    return listOfMap
}

func main() {
    dynamicMap := createDynamicMap(10,[]string{"name","age","gender"})
    fmt.Println(len(dynamicMap))
}
票数 2
EN

Stack Overflow用户

发布于 2021-07-31 19:06:08

我不能回答Golang部分,但是对于JavaScript,您最好使用A类创建新的对象实例。创建类,然后传入属性为can环行的对象,并在新的类实例中进行实例化。

代码语言:javascript
复制
class Creator { 

  // args can be an object with n amount of
  // properties
  constructor(args) {

    // Just loop over the entries and assign each value
    // to the instance
    Object.entries(args).forEach(([key, value]) => {
      this[key] = value;
    });
  };
}

const obj = { name: 'Bob', age: 2, idioms: 'etc', school: 'Grange Hill' };
const obj2 = { name: 'Steve', job: 'Farmer' };

console.log(new Creator(obj));
console.log(new Creator(obj2));

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68604907

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档