数组中字指定数量连续符串的【模糊匹配 】

需求是有多个输入框输入的数值,连续输入指定数量的的字符文字,

在其他输入项中不能重复,因此使用模糊匹配的方式,返回匹配的状态,

详细看下面的代码:

/** 三个公司名称模糊匹配
 * @param strArr 需要匹配的字符串数组
 * @param len  需要匹配的最小连续字符长度
 */
function comNameCompare(strArr,len){
    var result = ‘‘;
    if(strArr.length == 3  ){  // 需求是三个输入框必须要填,下面是模糊匹配方法
        for( var i = 0;i< strArr.length; i++ ){
            for( var j = 0;j< strArr[i].length-len; j++ ){
                var str = strArr[i].slice(j,j+len);
                var tempArr =  strArr.slice(0);   // 数组不改变原始数据的一次拷贝
                tempArr.splice(i,1);
                for( var k = 0; k< tempArr.length; k++ ){
                    var isIn = tempArr[k].indexOf(str);
                    if( isIn > -1 ){
                        result = "重复";
                        return  result;
                    }else{
                        result = "通过";
                        return result;
                    }
                }
            }
        }
        return result;
    }else{
        alert("需要填写三项对比的公司哦!");
    }
}
时间: 2024-08-27 11:32:55

数组中字指定数量连续符串的【模糊匹配 】的相关文章

在一个升序的但是经过循环移动的数组中查找指定元素

数组是升序的,数组经过循环移动之后,肯定是有左半部分或者有半部分还是升序的. 代码: public class SearchRotateArray { public static int search(int a[], int l, int u, int x) { while(l<=u){ int m = (l+u)/2; if(x==a[m]){ return m; }else if(a[l]<=a[m]){ //左半部分升序排列 if(x>a[m]){ l=m+1; }else if

旋转数组中查找指定元素

如题,在旋转数组中查找指定元素,考虑到多种情况,网上的方法大部分没有考虑,当low,high,mid三个值相等时的情况. 代码如下: int findAll(int A[],int low,int high,int value)//当三个相等时,查找全部元素的函数. { for(int i = low;i < high;i++) { if(A[i]==value) return i; } return -1; } int find(int A[],int n,int value)//查找旋转数组

程序员面试题目总结--数组(三)【旋转数组的最小数字、旋转数组中查找指定数、两个排序数组所有元素中间值、数组中重复次数最多的数、数组中出现次数超过一半的数】

转!http://blog.csdn.net/dabusideqiang/article/details/38271661 11.求旋转数组的最小数字 题目:输入一个排好序的数组的一个旋转,输出旋转数组的最小元素. 分析:数组的旋转:把一个数组最开始的若干个元素搬到数组的末尾.例如数组{3, 4, 5, 1, 2}为{1, 2, 3, 4, 5}的一个旋转,该数组的最小值为1.这道题最直观的解法并不难.从头到尾遍历数组一次,就能找出最小的元素,时间复杂度显然是O(N).但这个思路没有利用输入数组

3.分治法研究-搜索数组中的最长连续递增子集

//分治算法研究 搜索数组中的最长连续递增子集var cc=consolefunction find_max_crossing_lenarray(A,low,mid,high){    var max_left=mid,max_right=mid    var left_sum=1    var sum=0    for(var i=mid;i>low;i--){        sum=A[i]-A[i-1]        if(sum==1){            left_sum++   

学underscore在数组中查找指定元素

前言 在开发中,我们经常会遇到在数组中查找指定元素的需求,可能大家觉得这个需求过于简单,然而如何优雅的去实现一个 findIndex 和 findLastIndex.indexOf 和 lastIndexOf 方法却是很少人去思考的.本文就带着大家一起参考着 underscore 去实现这些方法. 在实现前,先看看 ES6 的 findIndex 方法,让大家了解 findIndex 的使用方法. findIndex ES6 对数组新增了 findIndex 方法,它会返回数组中满足提供的函数的

php 按照二位数组中某个指定的字段进行排序

/** * 按照二维数组中某个指定的某个字段进行排序 * @param $array 需要被排序的数组 * @param $flag 排序的标志 1,SORT_DESC 降序 2,SORT_ASC 升序 * @param int $range * @return array */function assortArray2($array,$flag,$keyword){ $sort = array( 'direction' => $flag, //排序顺序标志 1 ,SORT_DESC 降序:2

ES6数组中删除指定元素

知识点: ES6从数组中删除指定元素 findIndex()方法返回数组中满足提供的测试函数的第一个元素的索引.否则返回-1. arr.splice(arr.findIndex(item => item.id === data.id), 1) http://louiszhai.github.io/2017/04/28/array/ 1:js中的splice方法 splice(index,len,[item]) 注释:该方法会改变原始数组. splice有3个参数,它也可以用来替换/删除/添加数组

PHP - 数组去重,(折中:符串去重)

[译]更快的方式实现PHP数组去重 Jan 11, 2016 • Hector 原文:Faster Alternative to PHP’s Array Unique Function 概述 使用PHP的array_unique()函数允许你传递一个数组,然后移除重复的值,返回一个拥有唯一值的数组.这个函数大多数情况下都能工作得很好.但是,如果你尝试在一个大的数组里使用array_unique()函数,它会运行地慢一些. 有一个比较好而且更快的函数array_flip()来替代使用array_u

(查找)找到数组中的指定值得起始和结束位置

题目: 给定整数的排序数组,找到给定目标值的起始和结束位置. 您的算法的运行时复杂性必须是O(log n)的顺序. 如果在数组中找不到目标,则返回[-1,-1]. 例如, 给定[5,7,7,8,8,10]和目标值8, return [3,4]. 思路:这个题目直接使用容器存储出现查找元素的位置.取出第一个和最后一个即可. 代码 class Solution { public: vector<int> searchRange(int A[], int n, int target) { vecto