Map get(key) return undefined
Map get(key) return undefined
我将id映射为键,将整个对象映射为值。我想从mapbykey获取object,但它返回未定义值。怎么了?
var arr = [ { id: '1', value:'value1'}, { id: '2', value:'value2'}, { id: '3', value:'value3'}];
//using lodash
var idsMap = new Map(_.chain(arr).indexBy('id').mapValues(this));
idsMap.get(1); // return undefined
idsMap.get('1') // return undefined
var idsMap2= new Map(arr.map((el) => [el.id, el]));
idsMap2.get(1); // return undefined
idsMap2.get('1') // return undefined
第二个适合我:
var arr = [ { id: '1', value:'value1'}, { id: '2', value:'value2'}, { id: '3', value:'value3'}];
var idsMap2 = new Map(arr.map(function(el) { return [el.id, el] }));
console.log(idsMap2.get('2'));
https://jsfiddle.net/yxdug5j1/索引当然是字符串类型
您所采用的创建map对象的方法并不是在所有浏览器中都有效。试试下面的代码:
var arr = [{ id: '1', value: 'value1' }, { id: '2', value: 'value2' }, { id: '3', value: 'value3'}];
var idsMap = new Map();
arr.forEach(function (item, index, array) {
idsMap.set(item.id, item);
});
相关文章:
- 为什么会出现错误;未捕获的类型错误:undefined不是函数;
- /undefined在我的404错误日志中多次出现
- RequireJS向模块传递配置总是返回undefined
- JSON数组数据返回Undefined
- 为什么会出现错误,“UncaughtTypeError:undefined不是函数”
- Array.lenght = undefined
- mongoose.connect undefined不是一个函数
- JavaScript”;.方法“;返回undefined
- Uncaught TypeError:undefined不是函数-ember js
- Jquery - table.row(tr) is undefined
- jquery if语句返回return wong语句
- $provide.decorator$controller return throw undefined不是angula
- document.getElementById().value return undefined in chrome
- Imgur API return "undefined"
- results[0].formatted_address return undefined or null
- Javascript click() return undefined
- 第一次函数是return Undefined,每隔一次它就工作一次?使用Jquery、Javascript、Ajax
- return undefined Posts.findOne();
- Map get(key) return undefined
- .filter() return undefined