问题描述
我有一个搜索功能,可以单独使用。其目的是在JSON对象中搜索键并获取其值。
function findVal(object,key) {
var value;
Object.keys(object).some(function(k) {
if (k === key) {
value = object[k];
return true;
}
if (object[k] && typeof object[k] === 'object') {
value = findVal(object[k],key);
return value !== undefined;
}
});
return value;
}
var object = { photo: { progress: 20 }};
console.log(findVal(object,'progress'));
// Output 20
但是,当我将其移至mixin时,它将不再起作用。该错误指出我的函数在进行递归调用时未定义。
Mixin.js
const MyMixin = {
findVal(object,key) {
var value;
Object.keys(object).some(function(k) {
if (k === key) {
value = object[k];
return true;
}
if (object[k] && typeof object[k] === 'object') {
// ERROR OF UNDEFINED RETURNED HERE
value = findVal(object[k],key);
return value !== undefined;
}
});
return value;
}
}
var object = { photo: { progress: 20 }};
console.log(findVal(object,'progress'));
Template.vue
// Import Mixins
onClick(data) {
console.log(this.findVal(data,key))
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)