javascript - 有没有优雅的函数可以在数组中查找数组? JavaScript

标签 javascript arrays underscore.js

例如,我想检查数组是否包含值数组而不是值

var arr = [1, 2, 3];
arr.contains([1, 2]); // returns true
// and
arr.contains([1, 5]); // must be false

有一个名为 contains in underscore _.contains 的方法,但它的工作方式类似于 javascript 中的 .indexof() 而不是它返回 true 和false 并且只查找值而不查找数组

还有一个方法Array.prototype.includes()在 javascript 中也接受单个输入而不是数组

最佳答案

actually I want to check if second array has all the keys present in first array I want to check with AND

for example [1,2,3,4].contains([1,4]) must return true where as [1,2,3,4].contains([1,9]) must return false, hope this makes sense, I'm for now using underscores intersection and second array with intersection result it must be same, its still long procedure....

您可以在 for 循环中使用 Array.prototype.includes()

var arr = [1,2,3,4];

function contains(arr) {
  for (var i = 0, included = true; i < arr.length
       ; included = included && this.includes(arr[i]), i++);
  return included
}

Array.prototype.contains = contains;

console.log(arr.contains([1, 4]), arr.contains([9, 1]), arr.contains([1, 5]))

关于javascript - 有没有优雅的函数可以在数组中查找数组? JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35861093/

相关文章:

javascript - 如何使用react-router-dom直接链接来渲染填充了 Prop 的通用帖子组件?

javascript - 为什么 $.ajax({url :"xxx"}).responseText 返回未定义?

Javascript - 使用带有 Tab 键和焦点功能的 EventListener

java - 尝试在 Java 中使用 hasNext 时出现错误

javascript - 使用 .map 将数量转换为百分比

javascript - 在 AngularJS 中为 Promise 设置超时处理程序

iphone - iOS —将方法映射到数组

arrays - 将字符串数组传递给函数而无需指定 N(编译时间常数)

javascript - 数组和嵌套子数组中的 lodash 属性搜索

javascript - 使用 Backbone 和 Underscore 进行多属性查找