在 JavaScript 字符串中的空格之间查找值
Find a value between spaces in a javascript string
我有一个字符串和一个数组:
var first = 'b c da e f a s';
var second = ["g","h","i","j","a"];
我需要在字符串中找到"a"的第一个出现,它来自数组作为最后一个字符,所以我做到了:
var first = 'b c da e f a s';
var second = ["g","h","i","j","a"];
var myArray = second.reverse();
var arrayLength = myArray.length;
for (var i = 0; i < arrayLength; i++) {
var x = first.split(myArray[i])[1];
if (typeof x !== 'undefined'){
alert($.trim(myArray[i] + x))
break;
}
}
这输出a e f
,而它应该是a s
的。显然它拆分了单词da
,但我只需要它以整个值拆分,所以它应该跳过da
,除非我正在寻找整个值da
JSFIDDLE 的例子
function find_remainders(first, second) {
var words = first.split(' '); // Split up first by spaces
var result = '';
for (var i = second.length - 1; i >= 0; i--) { // Loop from the end of second until we succeed
var search = second[i]; // Get the current element of second
var index = words.indexOf(search); // Find that element
if (index != -1) { // If it was found
result = words.slice(index).join(' '); // Get it and everything after it, put back into a string
break;
}
}
return result;
}
alert(find_remainders('b c da e f a s', ["g", "h", "i", "j", "a"])); // a s
alert(find_remainders('b c da e f q s', ["g", "h", "f", "j", "a"])); // f q s
输出a
并s
为newArray
的值。如果需要字符串,可以内爆newArray
。
用空格拆分字符串。遍历阵列,如果针在大海捞针,则从该位置切开阵列。
var needle = 'a';
var haystack = 'b c da e f a s';
var parts = haystack.split(" ");
for (i=0; i < parts.length; i++) {
if (parts[i] === needle) {
var newArray = parts.slice(i);
break;
}
}
console.log(newArray);
这是一种
奇怪的方法,但是如果您确实需要它来工作,请在second
中将字符串拆分为每个字符串的全字版本:
var first = 'b c da e f a s';
var second = ["g", "h", "i", "j", "a"];
var myArray = second.reverse();
var arrayLength = myArray.length;
for (var i = 0; i < arrayLength; i++) {
var x = first.split(new RegExp('''b' + myArray[i] + '''b'))[1];
if (typeof x !== 'undefined') {
alert($.trim(myArray[i] + x))
break;
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
您的代码正在按编写的方式工作:
myArray (after reverse) -> ['a', 'j', 'i', 'h', 'g']
0 1 2 3 4
i = 0 -> myArray[i] -> 'a'
first.split('a')[1] -> ['b c d', ' e f ', 's'][1] -> ' e f ';
0 1 2
alert('a' + ' e f ') -> 'a e f';
然后你中断;并终止循环。
var first = 'b c da e f a s';
var second = ["g","h","i","j","a"];
var searchStr = second[second.length - 1];
var firstArray = first.split(' ');
for ( var i = 0; i < firstArray.length; i++) {
if ( firstArray[i] === searchStr) {
break;
}
}
if (i < firstArray.length) {
alert(firstArray.splice(i).join(' '));
}
相关文章:
- 如何使用JavaScript查找1和N之间的所有数字的总和
- 查找图像上两点之间的距离,即使缩放图像也是如此
- 如何使用谷歌地图几何库查找两点之间的距离
- Three.js-查找鼠标最后位置和当前位置之间的所有交点
- 在 JavaScript 中的两点之间查找和替换
- 循环字符串以查找字符集之间的文本
- 正则表达式查找字符串并返回大括号之间的所有内容
- 使用While和For循环查找上界之间的所有素数的程序
- 在PHP中查找Node和Golang这两个数组之间的差异
- 在 JavaScript 中查找两个日期数组之间的差异
- 在 JavaScript 中查找 ${ 和 } 之间的所有子字符串
- jQuery 查找标记之间的文本
- 查找多个 JavaScript 数组之间的匹配项
- 如何查找日期之间的持续时间
- 使用 RegEx 查找 HTML 标记之间的内容
- 在 JavaScript 字符串中的空格之间查找值
- 在斜杠之间查找值的正则表达式
- Javascript RegEx,在方括号之间查找文本
- 在多个节点之间查找成本最小的路径
- 如何在字符串中的两个字符之间查找多个值 - JS