مونا
5 سال پیش توسط مونا مطرح شد
7 پاسخ

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

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

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

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


ثبت پرسش جدید
میلاد-م
تخصص : توسعه‌دهنده رابط کاربری - Fron...
@milad 5 سال پیش آپدیت شد
1

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

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

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

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


میلاد-م
تخصص : توسعه‌دهنده رابط کاربری - Fron...
@milad 5 سال پیش آپدیت شد
0

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

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

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


مونا
تخصص : علاقه مند به برنامه نویسی
@mona.hagh 5 سال پیش مطرح شد
0

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


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 5 سال پیش مطرح شد
1

درود

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


مونا
تخصص : علاقه مند به برنامه نویسی
@mona.hagh 5 سال پیش مطرح شد
0

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

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;

میلاد-م
تخصص : توسعه‌دهنده رابط کاربری - Fron...
@milad 5 سال پیش مطرح شد
0

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

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

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


مونا
تخصص : علاقه مند به برنامه نویسی
@mona.hagh 5 سال پیش مطرح شد
0

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


میلاد-م
تخصص : توسعه‌دهنده رابط کاربری - Fron...
@milad 5 سال پیش آپدیت شد
1

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

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

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

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


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام