利用React-Native实现的排序小工具

写作时间:2020/4/27
React-Native版本:0.62.2

界面是下面这样的,实现的功能就是当你输入一系列数字(用空格隔开)的时候,会自动对你所输入的内容进行排序,并进行显示。

在这里插入图片描述

具体的实现的代码如下,如果你想运行代码查看效果,只需新建一个RN工程,并将下面的代码替换原App.js中的代码即可。

// App.js
import React, {Component} from 'react';
import {View, Text, TextInput, StyleSheet} from 'react-native';

export default class App extends Component {
    constructor() {
        super();
        this.state = {
            input: '',
            output: '',
        };
    }

    _Foo = text => {
        this.setState({input: text});
        var arr = text.trim().split(' ');
        var l = arr.length;
        for (let i = 0; i < l; i++) {
            arr[i] = parseInt(arr[i], 10);
        }
        for (let i = l - 1; i > 0; i--) {
            for (let j = 0; j < i; j++) {
                if (arr[j] > arr[j + 1]) {
                    [arr[j], arr[j + 1]] = [arr[j + 1], arr[j]];
                }
            }
        }
        this.setState({output: arr.toString()});
    };

    render() {
        return (
            <View style={styles.container}>
                <TextInput
                    style={styles.top}
                    placeholder="Type here !"
                    onChangeText={value => {
                        this._Foo(value);
                    }}
                    value={this.state.input}
                />
                <View style={styles.bottom}>
                    <Text>{this.state.output}</Text>
                </View>
            </View>
        );
    }
}

const styles = StyleSheet.create({
    container: {
        flex: 1,
        backgroundColor: 'steelblue',
    },
    top: {
        height: 80,
        backgroundColor: 'powderblue',
        margin: 10,
    },
    bottom: {
        flex: 1,
        backgroundColor: 'skyblue',
        margin: 10,
    },
});

代码比较粗糙,输入不当也会产生诸多问题,极其无聊的一个作品,仅供娱乐

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值