Как создать массив из пользовательского ввода из диалогового окна prompt () - PullRequest
0 голосов
/ 20 января 2019

Я борюсь с выбором и написанием правильного кода для зацикливания пользовательского ввода из диалогового окна в массив.

Я застрял на несколько дней.Я новичок в кодировании, и особенно в JavaScript.

alert("Welcome to my store!");
do{
    var nameArray;
    var name = prompt("Enter Product Name");
    var price = parseInt(prompt("Unit Price of Product in dollars: "));       
    var quantity = parseInt(prompt("Quanity of the product: "));
    var sum =price*quantity;
    userSelection = confirm("Do you want to purchase more?");
}
while(userSelection==true);
for(i=0;i>nameArray.length;i++){
    name[i]++;
    var totalSum = sum[i]++;
}
alert("You bought " +nameArray[]+ ". Your Total cost today is $"+totalSum+".");

Я хочу, чтобы пользователь вводил название продукта, цену и количество.И я хочу создать предупреждение, которое будет извлекать имена и отображать их, а также вычислять общую сумму.

Ответы [ 2 ]

0 голосов
/ 20 января 2019

Попробуйте следующее решение

alert('Welcome to my store!');

const items = [];

do {
    const name = prompt('Enter product name');
    const price = parseInt(prompt('Unit Price of Product in dollars'));
    const quantity = parseInt(prompt('Quanity of the product'));
    const sum = price * quantity;

    const item = {
        name: name,
        price: price,
        quantity: quantity,
        total: sum
    };

    items.push(item);
} while (confirm('Do you want to purchase more?'));

const totalCost = items.reduce((accumulator, currentValue) => accumulator += currentValue.total, 0);

alert(`You bought ${JSON.stringify(items, null, 4)} Your Total cost today is ${totalCost}`);
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
</body>
</html>

Вы можете прочитать об уменьшении здесь и JSON.stringify здесь

Большая поддержка, это великий и красивый мир

0 голосов
/ 20 января 2019

У меня была скрипка, и она заработала, в основном я добавил массив корзин для отслеживания элементов по мере их добавления пользователем.

alert("Welcome to my store!");
var basket = [];
var totalSum = 0;
var items = "";
do{
    var name = prompt("Enter Product Name");
    var price = parseInt(prompt("Unit Price of Product in dollars: "));       
    var quantity = parseInt(prompt("Quanity of the product: "));
    var sum =price*quantity;
    basket.push( {name: name, price: price, quantity: quantity, sum: sum});
    userSelection = confirm("Do you want to purchase more?");
}
while(userSelection==true);
for(i=0;i<basket.length;i++){
    totalSum += basket[i].sum;
    items += basket[i].name+", ";
}
alert("You bought " +items+ ". Your Total cost today is $"+totalSum+".");
...