如何重命名对象键并将对象值从字符串更改为数字

艾略什

好的,伙计们

我正在与<TimePicker/>第三方库打交道,React并且想要操纵状态,因此可以在以后将这种新格式的代码推送到新的格式中object

当我使用该库指定值时,无论选择什么时间,我的状态都会变成这样的字符串-例如,如果我选择20:30,则this.state.time等于"20:30"

我想将其操纵string成这样的对象:

"20:30"time: {hour: 20, minutes: 30}///小时和分钟现在都是数字

我的完整代码如下:

import React from "react";
import TimePicker from "react-time-picker";
import './Clock.css'

class Clock extends React.Component {

    state = {
        time: '0:00',
        pushTime: [],
        value: ''
    };

    onChangeTimePickerHandler = time => {
        this.setState({time});
        let currentTime = this.state.time;
        this.props.CallbackRenderTime(currentTime)
    };

    //I am using TimePicker library for React and want to manipulate the income from the chosen time
    pushNewTimeHandler = () => {
        let time = [...this.state.time] ;// ["1", "0", ":", "0", "0"]
        time.splice(2, 1);
        let timeToOneString = time.join().replace(/,/g, "");
         let prepareStringForNewObject = (value, index) => {
             let array = value.substring(0,index) + ',' + value.substring(index);
             return array.split(',')
         };
        let newObj = {...prepareStringForNewObject(timeToOneString,2)};
        console.log(newObj); // {0: "10", 1: "00"}
    };

    render() {

        return (
            <div>
                <TimePicker
                    onChange={this.onChangeTimePickerHandler}
                    value={this.state.time}/>
                    <button onClick={this.pushNewTimeHandler}>Push the Array of Time</button>
                    <p>{this.state.time}</p>
            </div>


        )
    }
}

export default Clock

所以我一直在玩耍,并提出了这个非常丑陋的问题解决方案:

 //I am using TimePicker library for React and want to manipulate the income from the chosen time
    manipulateTimeHandler = () => {
        //this.state.time is "10:00"
        let time = [...this.state.time] ;// now it looks like this: ["1", "0", ":", "0", "0"]
        time.splice(2, 1);
        let timeToOneString = time.join().replace(/,/g, "");
         let prepareStringForNewObject = (value, index) => {
             let array = value.substring(0,index) + ',' + value.substring(index);
             return array.split(',')
         };
        let newObj = {...prepareStringForNewObject(timeToOneString,2)};
        console.log(newObj); //finally it became the object, but the object values are still 
                            //strings and the object keys still need to be changed into "hour" 
                           //and "minutes" {0: "10", 1: "00"}
    };

因此,在我难看的解决方案上,pushNewTimeHandler我仍然需要将对象键重命名为hourminutes,还需要将小时和分钟的字符串值转换为数字。

一定的表现

我分裂由时间串:,产生一个字符串数组,则每个串的数字,并且解构映射到hourminutes左边的=然后你就可以做出的一个目标hourminutes

const str = '20:30';
const [hour, minutes] = str.split(':').map(Number);
const obj = { hour, minutes };
console.log(obj);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用express将对象发布到API路由而不将整数更改为字符串

来自分类Dev

python将字符串对象更改为数字

来自分类Dev

如何将对象键和值转换为格式化的字符串?

来自分类Dev

如何将对象的键和值转换为逗号分隔的字符串?

来自分类Dev

如果值有逗号,则循环并将对象字符串值转换为对象

来自分类Dev

如何获取字符串列表并将其更改为具有字符串属性的对象?

来自分类Dev

打字稿浏览对象并将字符串更改为标题大小写?

来自分类Dev

为什么将对象键的第一个值视为字符串-AngularJs

来自分类Dev

通过字符串键将对象存储在字典中

来自分类Dev

尝试将对象中的每个数字/值放入字符串数组

来自分类Dev

可以将对象从字符串值转换为 classType

来自分类Dev

如何在Chart.js中将Y轴值从数字更改为字符串?

来自分类Dev

如何在Chart.js中将Y轴值从数字更改为字符串?

来自分类Dev

如何将 JSON 字符串更改为对象数组?

来自分类Dev

如何将对象转换为字符串

来自分类Dev

如何使用PHP将对象转换为字符串

来自分类Dev

如何使用递归将对象转换为字符串?

来自分类Dev

如何将对象转换为字符串php

来自分类Dev

Android:如何将对象转换为字符串

来自分类Dev

如何将对象转换为字符串javascript

来自分类Dev

如何将对象类转换为字符串

来自分类Dev

当我将对象的值从文本更改为数字时,在javascript中出现错误nan

来自分类Dev

当键不是字符串时,如何遍历对象的键?

来自分类Dev

将对象转换为字符串

来自分类Dev

将对象[,]转换为字符串[,]

来自分类Dev

如何获取对象的字符串值而不是对象值?

来自分类Dev

nodejs对象的属性只能更改为int,不能更改为字符串

来自分类Dev

递归重命名对象键

来自分类Dev

重命名对象的多个键

Related 相关文章

  1. 1

    如何使用express将对象发布到API路由而不将整数更改为字符串

  2. 2

    python将字符串对象更改为数字

  3. 3

    如何将对象键和值转换为格式化的字符串?

  4. 4

    如何将对象的键和值转换为逗号分隔的字符串?

  5. 5

    如果值有逗号,则循环并将对象字符串值转换为对象

  6. 6

    如何获取字符串列表并将其更改为具有字符串属性的对象?

  7. 7

    打字稿浏览对象并将字符串更改为标题大小写?

  8. 8

    为什么将对象键的第一个值视为字符串-AngularJs

  9. 9

    通过字符串键将对象存储在字典中

  10. 10

    尝试将对象中的每个数字/值放入字符串数组

  11. 11

    可以将对象从字符串值转换为 classType

  12. 12

    如何在Chart.js中将Y轴值从数字更改为字符串?

  13. 13

    如何在Chart.js中将Y轴值从数字更改为字符串?

  14. 14

    如何将 JSON 字符串更改为对象数组?

  15. 15

    如何将对象转换为字符串

  16. 16

    如何使用PHP将对象转换为字符串

  17. 17

    如何使用递归将对象转换为字符串?

  18. 18

    如何将对象转换为字符串php

  19. 19

    Android:如何将对象转换为字符串

  20. 20

    如何将对象转换为字符串javascript

  21. 21

    如何将对象类转换为字符串

  22. 22

    当我将对象的值从文本更改为数字时,在javascript中出现错误nan

  23. 23

    当键不是字符串时,如何遍历对象的键?

  24. 24

    将对象转换为字符串

  25. 25

    将对象[,]转换为字符串[,]

  26. 26

    如何获取对象的字符串值而不是对象值?

  27. 27

    nodejs对象的属性只能更改为int,不能更改为字符串

  28. 28

    递归重命名对象键

  29. 29

    重命名对象的多个键

热门标签

归档