javascript - 查找2个数组之间的数据值发生变化的索引位置
问题描述
我有两个数组
initial:["David","Brad"]
after:["David","Cristina"]
所以在上面两个数组之间位置2的值已经改变了,那么我怎么能简单地返回改变的索引位置:
期望的结果:[2]
如果两个值都被更改,则所需的结果将是 [1,2]
我在下面尝试过,
var res= a.after.filter( function( p, index) {
return Object.keys(p).some( function( prop ) {
return p[prop] !== a.initial[index][prop];
})
})
上面的代码将输出返回为 ["Cristina"],它是 after 数组中的更改值。
如何调整它以获得索引位置而不是值。
解决方案
只要数组的元素是字符串/数字并且数组的长度相同,下面的代码就可以完成工作
请验证..
initial = ["David","Brad"];
after = ["David","Cristina"];
arr = [];
this.initial.map((i,v)=> {
if (i !== this.after[v]) {
this.arr.push(v+1)
}
});
console.log(this.arr)
推荐阅读
- javascript - 如何从 console.log() 获取有用的信息
- android - 名称仅包含数字的变量(kotlin/android)
- nginx - Nginx - 在我应用 SSL 证书后得到 403 禁止
- javascript - 在 MongoDB 或 JavaScript 中使用递归和遍历技术的嵌套集合树视图数据结构
- python - 如何在 Python3 中正确搜索并获取值?
- python - Python vs matplotlib - 图表生成问题
- r - 在 R 中计算 periodReturn 时出错
- java - JavaParser - 从 AST 级别的表达式中删除运算符。如何用子节点替换父节点?
- node.js - 为什么我在使用 Prisma(React 应用程序)在 Mongo 中显示和删除时遇到问题?
- node.js - 为什么找不到模块'request-promise'?( Runtime.ImportModuleError)