账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    js里用函数式编程把字符串转换成数组,每次提交数据都要手动刷新页面,不能在原页面修改,怎么解决这个问题?
    58
    0

    RT,我用下面的函数把input框里的输入变成数组格式进行了存储

    this.whitelists = this.whitelists.map(x =>({
              user_ids: x.user_ids.split(',').filter(x => x.trim()).map(x => Number(x)),
              treatment: x.treatment,
            }));

    原始的格式如下

    {
        "name":"test",    
        "whitelists":[
            {
                "user_ids":"10, 20",
                "treatment":"1"
            }
        ],
        "id":1
    }

    需要的格式如下

    {
        "name":"test",    
        "whitelists":[
            {
                "user_ids":[10, 20],
                "treatment":"1"
            }        
        ],
        "id":1
    }

    上面的方法可以把whitelists数组里面的user_ids字符串转换为数组格式,但是有一个问题。我每次提交完后,都需要手动刷新页面才能再次提交。如果有地方输错了,不能修改完那个错的地方然后提交,必须刷新,刷新以后又要把所有的输入框重新输一遍,输入框比较多很麻烦。
    我测试过了,如果把上面那个函数注释掉,那么可以做到修改完后立即提交,不需要手动刷新页面。
    请大家指点一下,我现在需要把输入变成数组格式,同时也需要做到修改以后可以立即提交,不用手动刷新页面,应该怎么做呢?谢谢了

    0
    打赏
    收藏
    点击回答
        全部回答
    • 共 0 条
    • 依舊悲傷落 普通会员 1楼

      在JavaScript中,你可以使用JSON.parse()函数将字符串转换为数组。然后,你可以使用Array.from()函数将数组转换为HTML元素。

      以下是一个例子:

      ```javascript function stringToArray(str) { return JSON.parse(str); }

      // 使用示例 const array = stringToArray("your string"); document.body.innerHTML = <p>${array.join(", ")}</p>; ```

      在这个例子中,stringToArray()函数接受一个字符串作为参数,并使用JSON.parse()将其转换为一个数组。然后,Array.from()函数将这个数组转换为一个HTML元素,并将它添加到页面上。

      但是,这种方法有一个缺点:当你在原页面上修改数组元素时,你需要手动刷新页面。这是因为Array.from()函数创建了一个新的元素,而不是修改了原始数组的元素。

      如果你想要在原页面上修改数组元素,你可以使用Array.from()函数将一个数组元素添加到另一个数组中,然后再使用Array.from()函数创建新的数组。例如:

      ```javascript function arrayToElement(array, element) { const newArray = Array.from(array); newArray.push(element); return newArray; }

      // 使用示例 const array = [1, 2, 3]; const element = { id: 1, name: "John" }; const newArray = arrayToElement(array, element); document.body.innerHTML = <p id="${element.id}">${element.name}</p>; ```

      在这个例子中,arrayToElement()函数接受一个数组和一个元素作为参数,并将元素添加到数组中。然后,它返回一个新的数组,其中包含了原始数组的元素和新的元素。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部