【问题标题】:How to change the value of property using reducer function如何使用 reducer 函数更改属性的值
【发布时间】:2021-02-09 15:54:04
【问题描述】:

我想根据下面给出的验证器长度更改样本的值

原文:

object1 = {test1:{sample: ["0"], validators: {length: 2}},
    test2: {sample: ["1"], validators: {length: 1}}}

预期结果:

object1 = {test1:{sample: ["0", "1"], validators: {length: 2}},
test2: {sample: ["0"], validators: {length: 1}}}

代码:

    Object.keys(object1).reduce((acc.test) => ({
        ...acc, 
        [test]:{
           ...test,
           sample:Array(validators.length).fill(null).map((_, i) => i.toString)
        }
    }, {}));

【问题讨论】:

  • 不确定这是否是您想要的,但请检查一下: Object.keys(object1).reduce((acc) => { console.log(acc); console.log(object1[acc ]); object1[acc].sample=Array(object1[acc].validators.length).fill(null).map((_, i) => i.toString()); }); console.log(object1);

标签: javascript typescript object reduce


【解决方案1】:

你可以使用map实现它:

Object.keys(object1)
  .map(el => ({
    ...object1[el],
    sample: Array(object1[el].validators.length).fill(null).map((_, i) => i.toString())
  }));

【讨论】:

    【解决方案2】:
        [validator]: {
    
                  validations: Array(validators.length)
    
                    .fill(null)
    
                    .map((_, i) => i.toString()),
    
                  validators,
    
                }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-21
      • 2021-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多