根据值计算数量

时间:2019-09-27 23:32:09

标签: javascript

提供此URL

#vary v from 0 to 1
def obtainBCRIT():
    vel = np.arange(0.001, 1, 0.01)
    b = 0.01
    bvalues = []
    for i in vel:
        radii = remove_negatives(calcCoords(1, b, i)[1])
        while len([*filter(lambda x: x < 1, remove_negatives(radii))]) > 0:
            b += 0.01
            radii= remove_negatives(calcCoords(1, b, i)[1])

        bvalues.append(b)
        print("for velocity = " +str(i) + " final b = " + str(b) )
        print(" radii = " + str(radii))
    print(" b values = " +str(bvalues))
    return(bvalues, vel)

有几个不同名称的参数,其中包含“数量”

我希望能够用“ qty”来计数每个参数的值

在此示例中为

https://www.rositarococo.com/gracias.html?hwA-qty-andrea-cobre=2&hwA-qty-sol=1&hwA-qty-valen=1&hwA-qty-mo%C3%B1o-2=1&entry.1471599855=38-andrea-cobre%2C%2037-mo%C3%B1o-2%2C%2036-sol%2C%2036-valen%2C%20&entry.1460904554=sebastian%20flichtentrei&entry.53830725=1156566&entry.1465946249=sflich86%40gmail.com&entry.978809450=TARJETA%20DE%20CR%C3%89DITO&entry.951592426=lavalle%20322&entry.1743418466=ramos%20mejia&entry.59648134=bs%20as&entry.1005165410=1704&entry.541001873=32420573&entry.17650825=A%20DOMICILIO&entry.1209868979=https%3A%2F%2Fwww.rositarococo.com%2F&fvv=1&fbzx=5661184097173102736&pageHistory=0

结果将是:5

我不知道如何选择所有包含“数量”的参数值

要访问我使用的URL参数,

hwA-qty-andrea-cobre=2
hwA-qty-sol=1
hwA-qty-valen=1
hwA-qty-mo%C3%B1o-2=1

但是然后我不知道如何访问所有包含数量的参数,以及如何使用通配符将所有值汇总到一个变量中?

var getUrlParameter = function getUrlParameter(sParam) {
    var sPageURL = window.location.search.substring(1),
        sURLVariables = sPageURL.split('&'),
        sParameterName,
        i;

    for (i = 0; i < sURLVariables.length; i++) {
        sParameterName = sURLVariables[i].split('=');

        if (sParameterName[0] === sParam) {
            return sParameterName[1] === undefined ? true : decodeURIComponent(sParameterName[1]);
        }
    }
};

1 个答案:

答案 0 :(得分:0)

使用正则表达式和.test()方法。

由于要获取所有匹配的参数,因此无法在参数匹配时立即返回,因此需要返回所有值的数组。


function getMatchingUrlParameters(regexp) {
  var sPageURL = window.location.search.substring(1),
    sURLVariables = sPageURL.split('&'),
    sParameterName,
    i,
    results = {};

  for (i = 0; i < sURLVariables.length; i++) {
    sParameterName = sURLVariables[i].split('=');
    if (sParameterName[0].test(regexp)) {
      results[sParameterName[0]] = decodeURIComponent(sParameterName[1]);
    }
  }
  return results;
}

然后您可以致电

var qtyParams = getMatchingUrlParameters(/-qty-/);

结果将是:

{
  "hwA-qty-andrea-cobre": "2",
  "hwA-qty-sol": "1",
  "hwA-qty-valen": "1",
  "hwA-qty-mo%C3%B1o-2": "1"
}

然后您可以将属性的所有值加起来。