如何从存储输入值的JavaScript数组中提取字符串JOHN?
问题解决
你现有代码的核心问题
$('#customer_name_search').val()获取到的输入框值本身就是完整字符串(比如输入的"JOHN"),你写的for循环是在遍历这个字符串的单个字符,逐个push到数组里,最终得到的是类似['J', 'O', 'H', 'N']的字符数组,并非你想要的存储完整输入值的数组。
两种对应场景的解决方案
场景1:你要把每次输入的完整字符串存进数组,直接取出"JOHN"
你不需要写拆分字符的循环,直接把输入框的值整体存入数组即可:
// 注意:arr要定义在全局/按钮事件外部,不要每次点击都重置 let arr = []; // 按钮点击的回调函数中执行: const inputValue = $('#customer_name_search').val().trim(); // 过滤空输入,避免存无意义的空值 if (inputValue) { arr.push(inputValue); } console.log(arr); // 此时数组内存储的就是完整字符串,例如["JOHN"]
要取出"JOHN"直接通过数组下标访问即可:arr[0]就能得到完整的"JOHN"字符串。
场景2:你已经生成了逐字符拆分的数组(例如['J','O','H','N']),要拼回"JOHN"
直接用数组内置的join()方法拼接所有字符,不需要手动遍历:
// 假设现有已拆分的字符数组 arr = ['J','O','H','N'] const targetStr = arr.join(''); // 传入空字符串作为拼接符,直接连接所有字符 console.log(targetStr); // 输出即为完整的"JOHN"
内容的提问来源于stack exchange,提问作者usern
相关产品推荐
相关产品推荐

