2014-11-21 99 views
5

我有这样的例子字符串下面与字符串数组字符串操作

["i.was.wen.the.coding", "i.am.wen.to", "i.am.new", "i.am", "i"]

一个排列U可以看到在阵列中的所有句子可以通过.分裂,我需要做的逻辑算法中模式创建一个有意义的句子,通过反向排列并在最后拼写单词。如果你从最后一次阅读它,如i.am.new.to.coding从每个句子中取出最后的吐出值,最后形成一个有意义的句子。我试图在JavaScript或jQuery中创建这样的代码,并坚持了一天以上。因为它非常棘手。

任何脚本专家plz帮助做到这一点。我感谢您的帮助。 TIA

回答

6

似乎直线前进,扭转阵列,它映射期满后返回的最后部分,然后用空格

var arr = ["i.was.wen.the.coding", "i.am.wen.to", "i.am.new", "i.am", "i"]; 
 

 
var s = arr.reverse().map(function(x) { 
 
    return x.split('.').pop(); 
 
}).join(' '); 
 

 
document.body.innerHTML = s;

+0

它就像魅力的任何输入和我真正需要的任何分隔符。为了您的宝贵帮助而竭尽全力。我从来没有想过它会用这样简单易懂的代码来完成。 :)非常感谢adeneo – Khaleel 2014-11-21 06:33:27

+0

@Khaleel - 不客气! – adeneo 2014-11-21 08:31:25

1

这个工作对我加盟:

var array = ["i.was.wen.the.coding", "i.am.wen.to", "i.am.new", "i.am", "i"] 
var b = []; 
for(i=array.length-1;i>=0;i--) { 
    var a = array[i].split('.').pop() 
    b += " "+a 
    alert(a) 
} 
alert(b) 
+0

谢谢anusha :) – Khaleel 2014-11-21 06:39:41

1

另一种方式:

arr = ["i.was.wen.the.coding", "i.am.wen.to", "i.am.new", "i.am", "i"]; 
arr = arr.reverse(); 
str = ''; 
for(i=0;i<arr.length;i++) 
{ 
    data = arr[i].split('.'); 
    len = data.length; 
    str = str + data[len-1] + " "; 
} 
console.log(str); 
2

var a = ["i.was.wen.the.coding", "i.am.wen.to", "i.am.new", "i.am", "i"]; 
 

 
var s = a.reduceRight(function(x,y){ 
 
    return x + '.' + y.split('.').pop(); 
 
}); 
 

 
document.body.textContent = s;

+0

谢谢mintsauce :) – Khaleel 2014-11-21 06:56:03

+0

@Khaleel:没问题! – 1983 2014-11-21 09:46:02