استفاده از include در شرط

- 2 هفته پیش
توسط مونا آپدیت شد
مونا ( 570 تجربه )
2 هفته پیش
تخصص : علاقه مند به برنامه نویسی

سلام دوستان
وقتتون بخیر
من تو یک نمونه پیاده سازی calculator با react به یه همچین شرطی برخوردم:

   if(this.state.result.includes('--'))

میدونید این عبارت ('--') include به چه معنی هست؟

بهترین پاسخ انتخاب شده توسط مونا
میلاد
2 هفته پیش

بله ممکنه این اتفاق بیفته.
بعلاوه در عبارات ریاضی هم ممکنه اتفاق بیفته.

حالت دیگه ای هم داره، بدین صورت:
5000 تا داریم، می خوایم منهای ِ منفی 3000 کنیم.

در مثالی که زدم هم در واقع معادلی برای همون منفی در منفی، می شود مثبت هستش.

اتفاقا به نظر من کسی که این کد رو نوشتم، دقت نظر بالایی داشته که این حالت رو در نظر گرفته.

میلاد ( 98310 تجربه )
2 هفته پیش
تخصص : طراح رابط کاربری - Front-End

includes() یک method هستش.
منبع: https://www.w3schools.com/jsref/jsref_includes.asp

بررسی می کنه که: آیا یک رشته ی موجود، شامل یک رشته ی خاص دیگه میشه یا نه؟
مقدار برگشتی هم: یا مقدار درست true هستش یا غلط false

درین مثال یعنی: آیا رشته ی (this.state.result)، شامل یک رشته ی ('--')، میشه یا نه؟

مونا ( 570 تجربه )
2 هفته پیش
تخصص : علاقه مند به برنامه نویسی

@milad درسته اما الزام استفاده از این خط (('--') include )در ماشین حساب چی هست؟

علی بیات ( 191997 تجربه )
2 هفته پیش
تخصص : توسعه دهنده ارشد وب

درود

این یه عبارت شرطیه که چک میکنه «--» در استیت موردنظر هست یا نه .. احتمالا برای نوع محاسبه‌ای که باید انجام بشه ازش استفاده میشه اما تا کد کاملش رو به اشتراک نگذارید، نمیشه به طور قطعی گفت.

مونا ( 570 تجربه )
2 هفته پیش
تخصص : علاقه مند به برنامه نویسی

کد کامل به این شکل هست:

import React, { Component } from 'react';
import './App.css';
import ResultComponent from './components/ResultComponent';
import KeyPadComponent from "./components/KeyPadComponent";

class App extends Component {
    constructor(){
        super();

        this.state = {
            result: ""
        }
    }

    onClick = button => {

        if(button === "="){
            this.calculate()
        }

        else if(button === "C"){
            this.reset()
        }
        else if(button === "CE"){
            this.backspace()
        }

        else {
            this.setState({
                result: this.state.result + button
            })
        }
    };

    calculate = () => {
        var checkResult = ''
        if(this.state.result.includes('--')){
            checkResult = this.state.result.replace('--','+')
        }

        else {
            checkResult = this.state.result
        }

        try {
            this.setState({
                // eslint-disable-next-line
                result: (eval(checkResult) || "" ) + ""
            })
        } catch (e) {
            this.setState({
                result: "error"
            })

        }
    };

    reset = () => {
        this.setState({
            result: ""
        })
    };

    backspace = () => {
        this.setState({
            result: this.state.result.slice(0, -1)
        })
    };

    render() {
        return (
            <div>
                <div className="calculator-body">
                    <h1>Simple Calculator</h1>
                    <ResultComponent result={this.state.result}/>
                    <KeyPadComponent onClick={this.onClick}/>
                </div>
            </div>
        );
    }
}

export default App;
میلاد ( 98310 تجربه )
2 هفته پیش
تخصص : طراح رابط کاربری - Front-End

مرسی از بابت قرار دادن کدها، الان جوابش مشخصه:

if(this.state.result.includes('--')){
            checkResult = this.state.result.replace('--','+')
        }

داره میگه وقتی دوتا منفی پشت سرهم بودش، تبدیلش کن به مثبت.
خب این یک قاعده ی ریاضی هستش، منفی در منفی میشه مثبت.
متوجه شدید؟

مونا ( 570 تجربه )
2 هفته پیش
تخصص : علاقه مند به برنامه نویسی

@milad
خب شما وقتی از ماشین حساب استفاده میکنید، اینکارو انجام میدید که مثلا تایپ کنید --3؟
در محاسبات روی کاغذ و مسایل ریاضی ممکنه این کارو انجام بدیم ولی لزوم اینکار در ماشین حساب رو متوجه نمیشم

میلاد ( 98310 تجربه )
2 هفته پیش
تخصص : طراح رابط کاربری - Front-End

بله ممکنه این اتفاق بیفته.
بعلاوه در عبارات ریاضی هم ممکنه اتفاق بیفته.

حالت دیگه ای هم داره، بدین صورت:
5000 تا داریم، می خوایم منهای ِ منفی 3000 کنیم.

در مثالی که زدم هم در واقع معادلی برای همون منفی در منفی، می شود مثبت هستش.

اتفاقا به نظر من کسی که این کد رو نوشتم، دقت نظر بالایی داشته که این حالت رو در نظر گرفته.

برای ارسال پاسخ باید وارد سایت شوید