Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/479.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何向变量添加字符串_Javascript_Html_Css_Angular_Typescript - Fatal编程技术网

Javascript 如何向变量添加字符串

Javascript 如何向变量添加字符串,javascript,html,css,angular,typescript,Javascript,Html,Css,Angular,Typescript,我需要创建一个价格配置新的灯光系统内的房子与角度7。我用简单的js而不是typescript+sass编码 第1页。用户选择他想要的是新建筑还是现有建筑。。Wifi/电线[z1,z2…] <label>New building</label> <input type="radio" value="z1"> 新建筑 他应该选择建筑物内部的尺寸选项(=这将在第3页添加不同的控件集)。[-o1,-o2…] <select><option va

我需要创建一个价格配置新的灯光系统内的房子与角度7。我用简单的js而不是typescript+sass编码

第1页。用户选择他想要的是新建筑还是现有建筑。。Wifi/电线[z1,z2…]

<label>New building</label>
<input type="radio" value="z1">
新建筑
  • 他应该选择建筑物内部的尺寸选项(=这将在第3页添加不同的控件集)。[-o1,-o2…]

     <select><option value="-o1">small</option>...
    
    小。。。
    
  • 他想要建造的东西(灯、空调、探测器……可以是多个)(=在第4页添加一组不同的控件。或者添加它们)[y8、y9……]

  • 选择控件(安卓、电视、钥匙链、移动检测器)(可以是多个)[-5x2-24x2]
  • 计算价格
  • 我需要将这些值作为字符串添加到变量中,然后获取这个新变量并为其指定价格。 z1-o1-y8-i-5x2-24x2>z1=新建建筑,o1=小型建筑,y8=灯光(可以是多个选项->空调,探测器…),i=开/关+定时(可以是多个选项->开/关+调光…),5x2表示控制器类型“5”在此选项中为两次,“24”也为两次。“5”的价格=1000,“24”的价格=2000


    我不知道我是否做得对。这很复杂。如何做到这一点?谢谢

    如果每个选项都有价格,并且需要将价格加在一起,您可以这样做:

    首先使用每个选项和相应的价格创建一个对象:

    const prices = {
      z1: 4999
      z2: 7499
      o1: 13000
      ...etc
    }
    
    然后,您可以使用所有选项创建阵列:

    const options = ['z1', 'o1', 'y8', 'i', etc];
    
    并通过循环数组来确定价格,如下所示:

    function determinePrice(options) {
      let price = 0;
      for (let option of options) {
        price += prices[option];
      }
      return price
    }
    
    如果您使用此方法,我建议不要在选项中添加5x2,只添加5次,它将被计数两次

    此外,为了实现这一点,您需要确保所有不同的页面都可以访问同一个数组,以便它们可以将用户选择的选项推送到同一个数组中。你如何做到这一点取决于你的项目结构,但你可以在这里寻找灵感:


    如果每个选项都有价格,并且需要将价格加在一起,您可以这样做:

    首先使用每个选项和相应的价格创建一个对象:

    const prices = {
      z1: 4999
      z2: 7499
      o1: 13000
      ...etc
    }
    
    然后,您可以使用所有选项创建阵列:

    const options = ['z1', 'o1', 'y8', 'i', etc];
    
    并通过循环数组来确定价格,如下所示:

    function determinePrice(options) {
      let price = 0;
      for (let option of options) {
        price += prices[option];
      }
      return price
    }
    
    如果您使用此方法,我建议不要在选项中添加5x2,只添加5次,它将被计数两次

    此外,为了实现这一点,您需要确保所有不同的页面都可以访问同一个数组,以便它们可以将用户选择的选项推送到同一个数组中。你如何做到这一点取决于你的项目结构,但你可以在这里寻找灵感:


    您能分享更多的代码吗?可能重复的我需要这样做吗?您能分享更多的代码吗?可能重复的我需要这样做z1..o1..y8..i。。。。没有价格。我仅有的价格是控制器(5x2和24x2)看看这个。如果不是所有的东西都有价格,我需要重新创建它,你可以在循环中添加(价格[选项]),然后将价格添加到总价格中,这样你就可以忽略没有价格的选项。我知道你想完成什么,但并不完全理解你的要求。如果要将所有用户选择的选项保存为字符串,只需读取每个选择值和go options+=selectValue,它将生成一个包含所有值的巨大字符串。如果您将它们放入一个数组中,您可以循环遍历它们,并根据所选内容确定价格。z1..o1..y8..i。。。。没有价格。我仅有的价格是控制器(5x2和24x2)看看这个。如果不是所有的东西都有价格,我需要重新创建它,你可以在循环中添加(价格[选项]),然后将价格添加到总价格中,这样你就可以忽略没有价格的选项。我知道你想完成什么,但并不完全理解你的要求。如果要将所有用户选择的选项保存为字符串,只需读取每个选择值和go options+=selectValue,它将生成一个包含所有值的巨大字符串。如果您将它们放入一个数组中,则可以循环遍历它们,并根据所选内容确定价格。