我们必须编写一个接受字符串数组和一个字符串的函数。我们的工作是检查数组是否包含字符串的任何序列或子序列作为其元素,并且函数应基于此事实返回布尔值。
例如-
const x = 'ACBC'; const arr = ['cat','AB']; const arr2 = ['cat','234','C']; const arr3 = ['cat','CC']; const arr4 = ['cat','BB']; console.log(containsString(arr,x)) // true console.log(containsString(arr2,x)) // true console.log(containsString(arr3,x)) // true console.log(containsString(arr4,x)) // false
因此,让我们为该函数编写代码-
const x = 'ACBC'; const arr = ['cat','AB']; const arr2 = ['cat','234','C']; const arr3 = ['cat','CC']; const arr4 = ['cat','BB']; const splitSort = function(){ return this.split("").sort().join(""); }; String.prototype.splitSort = splitSort; const containsString = (arr, str) => { const sorted = str.splitSort(); for(let i = 0; i < arr.length; i++){ const sortedEl = arr[i].splitSort(); if(sorted.includes(sortedEl)){ return true; } }; return false; } console.log(containsString(arr,x)) // true console.log(containsString(arr2,x)) // true console.log(containsString(arr3,x)) // true console.log(containsString(arr4,x)) // false
输出结果
控制台中的输出将为-
true true true false