javascript - 如何分离字符串并推送到 react 状态?

标签 javascript reactjs

我担心如果我像这样复制和粘贴这个字符串来输入:

10202, 29292, 29111, 29222, 22822, 

如何删除空格和逗号或除数字以外的任何字符并将其推送到 React 组件状态?

我的状态是这样的:

codes: [10202, 29292, 29111, 29222]

在复制粘贴时我知道我可以使用 onPaste 方法,但不知道如何让每个项目删除逗号并推送状态当然需要防止重复相同的值。

最佳答案

你可以这样做:

const data = '10202, 29292,  29111,29222,22822,   '

const codes = data.split(',')
                     .map(item => (item.trim()))  // remove any spaces
                       .filter(item => item !== '')  // exclude any empty values caused by extra comma at end
                         .map(item => parseInt(item))  // parse to Int

// if you wanna see data in log
console.log(codes)

this.setState({ codes })

关于javascript - 如何分离字符串并推送到 react 状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58266833/

相关文章:

reactjs - 将箭头函数传递给使用钩子(Hook)的组件会导致 useEffect 再次触发

JavaScript/Chrome 扩展

javascript - 无法强制 Chrome 使用 Javascript 滚动到页面顶部

javascript - 我使用 Express 中间件收到 UnhandledPromiseRejection

reactjs - 禁用/解决方法 React 关键要求?

reactjs - 找不到模块 : Can't resolve './reducers/index'

reactjs - 渲染后如何在formik中触发验证?

reactjs - Autocomplete Material-UI 中如何默认打开下拉列表?

java - Java 和 JavaScript 中的 'Go to definition' 如何使用 Emacs?

javascript - 如何使用 JavaScript 清除浏览历史记录?