如何在数组中设置拆分字符串?

时间:2017-05-30 15:22:10

标签: javascript jquery

所以我的结构如下



<input type="text" class="search-hotels" placeholder="" data-other-placeholder="Test 1|Test 2|Test3"/>
&#13;
&#13;
&#13;

如您所见,我有data-other-placeholder属性,我将字符串拆分为(|)括号

&#13;
&#13;
var placeTarget = $(".search-hotels"),
    getPlaceholder = placeTarget.data("other-placeholder"),
    splitData     = getPlaceholder.split("|");
&#13;
&#13;
&#13; 我想在数组列表中分配这个字符串并打印结果我该怎么做?

3 个答案:

答案 0 :(得分:0)

使用String.prototype.split()已经返回一个数组 - 对其进行迭代并使用Array.prototype.push()push个新值添加到数组中。

所以在你的例子中......

var testString = 'test|test1|test2';

var arrayToPush = ['Where would you like to go?'];

var testStringParsed = testString.split('|');

for(var i = 0; i < testStringParsed.length; i++){
  var string = testStringParsed[i];
  arrayToPush.push(string + '?');
}

console.log(arrayToPush);

答案 1 :(得分:0)

对每个运行函数的数组项使用jQuery。 使用.append将HTML输出到目标元素,就像这里我定位id="output"元素一样输出我的结果。

$.each(splitData, function( index, value ) {
  $('#output').append('<div>'+value+'</div>');
});

var placeTarget = $(".search-hotels"),
  getPlaceholder = placeTarget.data("other-placeholder"),
  splitData = getPlaceholder.split("|");

//$('#output').text('"' + splitData.join('","') + '"');

$('#output').append(document.createTextNode('"' + splitData.join('","') + '"'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="search-hotels" placeholder="" data-other-placeholder="Test 1|Test 2|Test3" />
<div id="output">

</div>

答案 2 :(得分:-1)

  

&#34;在数组列表中分配此字符串&#34;

你在最后一行做到了这一点:

 splitData = getPlaceholder.split("|");
  

&#34;并打印结果&#34;

你可以这样做:

console.log(splitData);

但是你也可以逐个整理数组并打印结果,只需一个简单的 for 或类似的东西:

splitData.forEach(function(element, index){
    console.log(element);
});