如何将子字符串应用于数组中的每个字母

How to apply substring to every letter in array?

本文关键字:数组 字符串 应用于      更新时间:2023-09-26

我正在制作一个文本字符串数组,如下所示:

phone = $(data).find('.tel a')

我想将子字符串(8)应用于名为phone的数组中的每个项。for循环是最好的方法吗?

phone目前包含一个jQuery对象,它是DOM元素的类似数组的对象。如果您想迭代所有它们,并获得它们的内部文本,对每个文本应用.substring(8),并用它们构建一个数组,您可以使用这样的东西:

var phoneArray = $(data).find(".tel a").map(function (i, el) {
    return $(el).text().substring(8);
}).get();

演示:http://jsfiddle.net/96HWv/

(在演示中,我必须模拟data可能是什么,尽管我猜它在实际代码中是一个HTML字符串)

您可以使用map()方法:

phone = phone.get().map(function(e) { return $(e).text().substring(8) });

FIDDLE

您可以使用.ech()函数来实现。。。类似于:

$(data).find('.tel a').each(function() {
    $(this).text(function(index,text) {
      return text+"substring(8)";
    });
});

您可以让jQuery为您完成工作。

$(data).find('.tel a').addClass('substring');

jQuery将遍历返回的元素数组,并将类添加到所有元素中。