使用字符串数组进行字符串操作

5

我有一个字符串数组,例如下面的例子:

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

你可以看到数组中的所有句子都可以通过 . 进行分割。我需要创建一种逻辑算法模式,将数组倒序拼接单词从而使句子有意义。如果你从最后读起,比如 i.am.new.to.coding,则从每个句子中取出最后一个分隔值,最终会构成一个有意义的句子。我正在尝试用 JavaScript 或 jQuery 创建这样的代码,但已经困扰了我超过一天,因为这非常棘手。

请教脚本专家们帮我完成这个目标。非常感谢您的帮助。TIA

4个回答

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;


它对于任何输入和分隔符都能完美运作,这正是我所需要的。向您致敬,感谢您宝贵的帮助。我从未想过它可以在如此简单易懂的代码中完成。:) 非常感谢,adeneo。 - Khaleel

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;


@Khaleel:没问题! - 1983

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)

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);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接