从两个数组创建/合并对象哈希映射
Create/merge an object hashmap from two arrays
我正在做一个需要我创建哈希图的项目,这是我的第一个项目,经过研究,我被卡住了。我需要从两个数组创建地图。
阵列 1:
var arrayOne = [ "board", "admin" ]
这些将被添加到默认值为 false 的地图对象中,我可以进入这一部分:
var myMap = {
board: false,
admin: false
}
阵列 2:
var arrayTwo = [ "board" ]
这里只存在"板",所以我想将值转换为"true"。我被困在下一步该去哪里,所以我最终得到:
var myMap = {
board: true,
admin: false
}
这是我到目前为止的脚本:
var myMap = {};
var arrayOne = [ "board", "admin" ];
for (var i = 0; i < arrayOne.length; i++) {
var a = arrayOne[i];
myMap[a] = false; // sets default value
}
非常感谢任何帮助做"下一步"以合并两者,谢谢。
我认为您应该继续以下内容:
for (var i = 0; i < arrayTwo.length; i++) {
if (arrayTwo[i] in myMap)
myMap[arrayTwo[i]] = true;
}
。将属性设置为仅当地图中存在属性时才true
。
使用 indexOf() 方法检查项目是否在第二个数组中
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf
http://www.w3schools.com/jsref/jsref_indexof_array.asp
var myMap = {};
var arrayOne = [ "board", "admin" ];
for (var i = 0; i < arrayOne.length; i++) {
var a = arrayOne[i];
myMap[a] = false; // sets default value
if ( arrayTwo.indexOf( a ) != -1 )
{
myMap[a] = true;
}
}
先做一个然后做另一个...
var i;
var myMap = {};
var arrayOne = [ "board", "admin" ];
for (i = 0; i < arrayOne.length; i++) {
myMap[arrayOne[i]] = false;
}
var arrayTwo = [ "board" ];
for (i = 0; i < arrayTwo.length; i++) {
myMap[arrayTwo[i]] = true;
}
ES5 版本
arrayOne.forEach(function(item){
myMap[item] = false;
});
arrayTwo.forEach(function(item){
(item in myMap) && (myMap[item] = true);
});
相关文章:
- Javascript-根据赋值顺序,按键合并对象数组
- 如何合并对象数组
- 在键值对的唯一组合上合并对象
- Undercore JS嵌套了每个合并对象
- 基于公共属性合并对象数组
- 如何合并对象-lodash
- 扩展/合并对象
- 如何在mongoshell中合并对象
- 在 JavaScript 中合并对象文字/json
- 在Rereduce函数中合并对象的属性会导致每次创建视图时产生错误的值
- 如果对象 id 相同,如何合并对象
- JavaScript 按 id 合并对象
- 从两个数组创建/合并对象哈希映射
- 在 jQuery 中合并对象
- React使用React Immutability Helper或immutable js合并对象的不可变数组
- 如何在属于Reducer的对象内部合并对象特性
- 使用jQuery或underscore.js合并对象中多个数组的值
- 用AngularJS深度合并对象
- jQuery扩展-需要合并对象和数组
- 合并对象&对单个属性javascript求和