0

我在javascript中有两个字符串数组,比如

var names = [name1, name2, name3, name4];
var values = [value1, value2, value3, value4];

我需要将这些值发送到后端。我发送如下

var nameString = "name1,name2,name3,name4";
var valuesString = "value1,value2,value3,value4";

然后我将在java中的地图上迭代它。我的问题是,如果我想从名称字符串中删除名称,那么 valueString 中的相应值也应该删除。如何以优化的方式在 java 端执行此操作。

Ex: If i want to remove name3, then new strings should be like following:
  In Java side:   
     String nameString = "name1,name2,name4";
     String valueString = "value1,value2,value4";
4

2 回答 2

1

在 JavaScript 中:

var data = {name1:value1, name2:value1, name3:value1, name4:value1};

(如果需要引用),将对象作为 JSON 发送,并在 java 中解析它。 http://www.json.org/java/

我不是 Java 开发人员,因此无法用特定代码为您提供太多帮助,但该方法对所有语言都相同

于 2012-10-23T14:26:20.653 回答
1

在java中你可以做类似的事情:

public static void main(String[] args) {
    String nameString = "name1,name2,name3,name4";
    String valueString = "value1,value2,value3,value4";

    nameString = removeSection(nameString, 2);
    valueString = removeSection(valueString, 2);

    System.out.println(nameString);
    System.out.println(valueString);

}

private static String removeSection(String val, int del){
    String[] a = val.split(",");
    String[] b = new String[a.length-1];

    System.arraycopy(a,0,b,0,del);
    System.arraycopy(a,del+1,b,del,a.length-1-del);

    val = arrayToString(b);

    return val;
}

private static String arrayToString(String[] a){
    String newStr = "";
    for (int i=0; i<a.length; i++) {
        if(i==0){
            newStr += a[i];
        }else{
            newStr += ","+a[i];
        }
    }
    return newStr;
}
于 2012-10-23T14:51:05.413 回答