HI, 在Java腳本,合併的字符串
VAR一個= 「蘋果 - 橙 - 芒果」 VAR B = 「葡萄 - 愉快-蘋果」
變種C = A + B //與2個變量合併
var c應該有值「apple-orange-mango-grapes-cheery」。重複應該被刪除。
感謝, Chells
HI, 在Java腳本,合併的字符串
VAR一個= 「蘋果 - 橙 - 芒果」 VAR B = 「葡萄 - 愉快-蘋果」
變種C = A + B //與2個變量合併
var c應該有值「apple-orange-mango-grapes-cheery」。重複應該被刪除。
感謝, Chells
這裏有一個蠻力算法:
var a;
var b; // inputs
var words = split(a+b);
var map = {};
var output;
for(index in words) {
if(map[ words[index] ]!=undefined) continue;
map[ words[index] ] = true;
output += (words[index] + '-');
}
output[output.length-1]=' '; // remove the last '-'
的map
作爲一個哈希表。
那就是它!
您的字符串相結合後,你將要使用的分隔符分割它(您可以在以後添加這些回)。
例如:
var a ="apple-orange-mango"
var b ="grapes-cheery-apple"
var c = a + "-" + b
var Splitted = c.split("-");
分割後變量現在包含一個陣列,例如[蘋果,橘子,芒果,葡萄,櫻桃,蘋果]
然後可以使用的許多duplicate removing algorithms之一刪除重複。然後,你可以簡單地這樣做是爲了添加分隔符回:
result = Splitted.join("-");
我不知道這是否是一個功課。
順便說一下,您可以使用字符串對象的拆分方法拆分字符串a和b。 你的情況:
firstArray=a.split("-");
secondArray=b.split("-");
去除重複的是給你......
在您簡單的例子,只要使用VAR C = A + 「 - 」 + B; 如果你想重複刪除,分割和b成陣列,並結合他們,就像這樣:
var avalues = a.split("-");
var bvalues = b.split("-");
var combined = avalues.concat(bvalues);
// now loop over combined and remove duplicates
嗨,這是一個功課? – Eineki 2009-06-11 09:03:37
沒有..它的問題我遇到了一個問題 – joe 2009-06-11 09:51:23
這不是問題,如果這是家庭作業或不,這是一個很好的問題,可以反映在現實生活中的應用程序,並可能幫助其他人。 – vsync 2011-06-14 12:37:36