草庐IT

存储算法

全部标签

javascript - .txt 文件和 .json 文件是否同样适用于存储 javascript 对象?

我可以简单地将.json文件的扩展名更改为.txt而不会出现问题吗?我的CMS的文件权限锁定了对扩展名为.json的文件的访问。这些权限现在无法更改。为了解决这个问题并仍然使用javascript对象,我将.json文件的扩展名更改为.txt。到目前为止一切顺利。这是一个合理的解决方案还是我应该担心将来会发生一些未知的灾难?过去我也能够使用JSONP加载跨域.txt文件,所以我认为这两种文件格式在存储js对象方面可能非常相似。 最佳答案 CanIsimplychangetheextensionofa.jsonfileto.txtwi

javascript - 如何跟踪 MobX 存储中的嵌套对象

让我们留下来,我通过API调用加载了这个myObject:myObject={fieldA:{details:'OK',message:'HELLO'},fieldB:{details:'NOT_OK',message:'ERROR'},}只有每个字段的详细信息和消息可以更改。我希望这个对象在MobX存储中是可观察的(哪些属性?将在下面定义)。我有一个简单的React组件,它从商店中读取两个字段:@observerclassAppextendsComponent{store=newStore();componentWillMount(){this.store.load();}rende

javascript - 确定定界形状边界的点的算法——使用 javascript

我正在开发一个htmlmap制作器,我想为我们的用户提供通过单击区域快速创建形状的能力,而不是让他们手动定义形状。首先让我们看看我们目前正在做什么。用户想要绘制区域A。他需要做的是在每个点上多次单击以定义形状的边界。我想知道是否有一种算法允许用户在A区域中单击并可以确定要放置哪些点以便在形状边界之后创建接近最佳的形状-基于图像对比度。我处理这个问题的第一个想法是确定离点击点最远的上、左、下、右点。将这四点作为我们的出发点。然后对于每个段,用一个新点对其进行分割,并沿着向量法线移动新点,直到我碰到对比边缘。当然,这种方法有一些局限性,但这是我可以假设的形状可以是凸的,凹的等等...对比度

javascript - 使用Dijkstra算法寻找能够承载最大权重的路径

我有一个图,有X个节点和Y个边。加权边缘。重点是从一个节点开始,并在最后一个位置的另一个节点停止。现在问题来了:将问题可视化。边缘是道路,边缘权重是在道路上行驶的车辆的最大重量限制。我们想驾驶最大的卡车从A到F。我想要从A到F的所有路径的最大允许重量。我可以使用某种Dijkstra算法来解决这个问题吗?我不确定如何以我可以实现的算法的形式来表达这个问题。任何帮助深表感谢。我很困惑,因为Dijkstra算法只考虑最短路径。 最佳答案 如果我没理解错的话,你想找到一些具有最大瓶颈边的节点之间的路径。也就是说,你想要最小边尽可能大的路径。

javascript - 限制数据(大小)可以存储在 javascript 数组中。

Javascript数组中可以存储多少数据(大小)?我所有的数据都是浮点值。我试图首先将服务器发送到web应用程序客户端的所有数据缓存在数组中,然后每秒从该数组中读取它以将其呈现在图中。这样我将一次渲染多个点,而不必在每次新数据点到达时都渲染一个点(实际上是每20毫秒)请推荐。 最佳答案 由于Javascript内存的限制,数组的确切最大限制是2^32-1或4294967295。项目数,也称为长度属性,不能大于该值。检查这个:http://4umi.com/web/javascript/array.php了解更多详情。

Javascript 模块化算法

Javascript将以下代码片段计算为-1。-5%4我理解余数定理表明a=bq+r使得0≤r 最佳答案 因为它是一个remainderoperator,不是模数。但是有一个proposalforaproperone.引自Ecma5.1remainderrfromadividendnandadivisordisdefinedbythemathematicalrelationr=n−(d×q)whereqisanintegerthatisnegativeonlyifn/disnegativeandpositiveonlyifn/dis

javascript - 获取对象中所有项目组合的高效算法

给定一个包含n个键的数组或对象,我需要找到所有长度为x的组合。给定X是可变的。binomial_coefficient(n,x)。目前我正在使用这个:functioncombine(items){varresult=[];varf=function(prefix,items){for(vari=0;i输出是:["a","ab","abc","abcd","abd","ac","acd","ad","b","bc","bcd","bd","c","cd","d"]因此,如果我想要n=4中的二项式系数x=3,我会选择所有长度等于3的字符串。{abc,abd,acd,bcd}。所以我分两步进

javascript - 如何在标记中存储更多信息?

我使用的是GoogleMapsv3,我在服务器端构建了一个位置数据的json集合。因此,当我收到它时,我会遍历该集合并为它们中的每一个创建一个标记对象。对于这些标记中的每一个,我都将它们与单击事件绑定(bind),因此当用户单击map中的标记时,它会显示一个信息窗口,其中包含与关联位置相关的数据。我有一个数组来存储从服务器获取的所有位置,该服务器保存检索到的json对象及其相应的标记。问题是,即使我有一个可以引用或遍历的数组,我不仅需要在用户单击它们时获取标记对象,还需要获取存储更多信息的位置对象。我试图维护这个对象数组并从调用对象引用它但没有成功,因为该函数是由标记而不是位置对象调用

javascript - 本地存储的 Chrome 扩展替代品?

我正在寻找一种可以跨网站持续存在的存储机制。我有需要存储的原始数据类型数字/字符串。localStorage对我不起作用,因为它属于同源策略。我需要我的数据在所有网站上都相同,但更多的是特定于选项卡并通过内容脚本访问。有人可以建议一种合适的机制来实现这一点吗?编辑:我目前正在实现第一个答案代码并且没有太多关注。我有以下...背景.html注意:tabStorage是这个函数中的一个类变量functionstore(){chrome.extension.onRequest.addListener(function(request,sender,sendResponse){if(reque

javascript - Javascript 事件处理程序存储在哪里?

我试图弄清楚DOM如何跟踪事件处理程序,是通过使用jQuery、addEventListener还是通过HTML属性(例如onload="myFunc()")进行绑定(bind)。我读到过jQuery使用.data()方法来存储由jQuery绑定(bind)的事件处理程序……但是其他的呢?他们去哪里?我知道Webkit的检查器工具通过检查“元素”选项卡中的元素来显示事件监听器,但它从哪里获得该信息?顺便说一下,在使用Chrome的网络检查器进行的一些测试中,我使用控制台通过拉入将实时站点上的jQuery版本替换为更新的版本。标签,从而覆盖jQuery和$变量。很明显,在替换之前使用jQ