我在下面的数组中有一些值(arr1);我需要制作一种独特的arrayList,它必须收集并创建一个新列表,并在“〜”之前添加值。如果“〜”之前的值位于新列表中,则“〜”之后的值必须附加到现有值中的数组。
var arr1:Array = new Array();
arr1[0] = "test 1 ~ 781.102";
arr1[1] = "test 2 ~ 981.112";
arr1[2] = "test 2 ~ 191.222";
arr1[3] = "~ 431.332";
arr1[4] = "test 1 ~ 121.332";
arr1[5] = "test 3 ~ 121.442";
arr1[6] = "test 3 ~ 201.552";
新清单应该是这个...
var nArr:Array = new Array();
nArr[0]= "test 1 - (781.102,121.332)";
nArr[1]= "test 2 - (981.112,191.222)";
nArr[2]= "test 3 - (121.442,201.552)";
nArr[3]= "undefined - (431.332)";
使用.split(“〜”)分隔以~
。分隔的子字符串。结果是一个数组。
将JavaScript对象与键和值一起使用。关键字是“ test 1”,“ test 2”,...,并且值是一个JavaScript数组。为arr1的每个元素添加给定键的数组编号。
最后,从您的对象创建一个数组,并将数组值转换为“(...,...)”
您的代码如下所示:
var obj = {};
for (var i = 0; i < arr1.length; i++) {
var keyAndValue = arr1[i].split("~");
var key = keyAndValue[0].trim();
var value = keyAndValue[1].trim();
var array = [];
if (key in obj) {
array = obj[key];
}
array.push(value);
obj[key] = array;
}
var nArr = [];
for (key in obj) {
nArr.push(key + " - (" + obj[key].toString() + ")");
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句