- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试编写一个函数来挖掘对象,直到它到达最后一个 .value
或 .content
属性。我写了这篇文章,但我一生都无法弄清楚它为什么会崩溃。
var jscGetDeepest = function(obj) {
try {
console.info(Math.round(Math.random() * 10) + ' starting jscGetDeepest:', obj, obj.toString());
} catch(ignore) {}
while (obj && ('contents' in obj || 'value' in obj)) {
if ('contents' in obj) {
obj = obj.contents;
} else if ('value' in obj) {
obj = obj.value;
}
//console.info('loop jscGetDeepest:', obj.toString());
}
if (obj || obj === 0) {
obj = obj.toString();
}
console.info('finaled jscGetDeepest:', obj);
return obj;
}
最佳答案
当下一次迭代中的内部值不是对象时,就会出现此问题。在这种情况下,您会收到一条错误消息,因为 in
操作数不能与基元一起使用。
要修复它,请在尝试深入之前检查对象。这是一个修复的稍微改进的版本,使用 JSON.stringify
而不是 toString
(也许更好地返回对象本身而不对其进行字符串化?):
var jscGetDeepest = function (obj) {
while (typeof obj === 'object' && obj !== null && ('contents' in obj || 'value' in obj)) {
if ('contents' in obj) {
obj = obj.contents;
} else if ('value' in obj) {
obj = obj.value;
}
}
if (typeof obj === 'object') {
obj = JSON.stringify(obj);
}
return obj;
}
alert( jscGetDeepest({value: {name: 2, contents: {name: 3, value: 23}}}) );
alert( jscGetDeepest({value: {name: 2, value: {name: 3, contents: {name: 4}}}}) );
关于javascript - 挖掘至最深的 .value 或 .content,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29199369/
我正在尝试提取 MultiLevelPushMenu 插件中当前元素的根路径。 https://github.com/adgsm/multi-level-push-menu 所有者给出了将根级路径提取
我目前使用 Excel 和 SQL Server 商业智能工作室来浏览我的模型,但我一直在寻找一个体面的、中等用户友好的前端应用程序,可用于通过 SSAS 挖掘模型跋涉。 我了解如何将预测用于特定目的
我正在尝试使用 GCC >= 4.4 中可用的 Graphite 循环优化框架,但如果迭代次数未知,我似乎无法让它应用任何转换。例如。这个示例代码: int __attribute__((hot))
我有一个具有以下数据格式的 XML 文件: .... 谁能告诉我如何使用 awk 单行程序对 XML 文件进行数据挖掘?例如,我想知道 abc 的 attr3。它会返回 345 给我。 最佳答案
场景:我在不同的 Azure 租户中有 2 个 AAD 应用程序 - 让我们调用租户 A 和 B。租户 A 中的应用程序定义了租户 B 中的应用程序已同意的自定义 appRole 和 oAuth2Pe
场景:我在不同的 Azure 租户中有 2 个 AAD 应用程序 - 让我们调用租户 A 和 B。租户 A 中的应用程序定义了租户 B 中的应用程序已同意的自定义 appRole 和 oAuth2Pe
我是一名优秀的程序员,十分优秀!