我想知道如何在自定义订单上排序数组,而不是按字母顺序排序.想象一下你有这个数组/对象:
var somethingToSort = [{
type: "fruit",
name: "banana"
}, {
type: "candy",
name: "twix"
}, {
type: "vegetable",
name: "broccoli"
}, {
type: "vegetable",
name: "carrot"
}, {
type: "fruit",
name: "strawberry"
}, {
type: "candy",
name: "kitkat"
}, {
type: "fruit",
name: "apple"
}];
Run Code Online (Sandbox Code Playgroud)
在这里,我们有3种不同的类型:水果,蔬菜和糖果.现在我想对这个阵列进行排序,并确保所有水果都是第一个,糖果来自水果,蔬菜是最后的.每种类型都需要按字母顺序对其项目进行排序.我们将使用像sortArrayOnOrder ( ["fruit","candy","vegetable"], "name" );So这样的函数,你最终会在排序之后得到这个数组:
var somethingToSort = [{
type: "fruit",
name: "apple"
}, {
type: "fruit",
name: "banana"
}, {
type: "fruit",
name: "strawberry"
}, {
type: "candy",
name: "kitkat"
}, …Run Code Online (Sandbox Code Playgroud) 
如您所见,第一个require_once没有给出弱警告.后者确实如此,但我不明白为什么.有什么理由发生这种情况吗?该文件存在并包含一个类.如果它有用,这就是文件结构:
-| Project
-| Anomius
- Anomius.php (This is the included file)
-| Sites
-| Foo
- app.php (This is the file on the image)
Run Code Online (Sandbox Code Playgroud) 我们在Nginx上运行了一个API,它应该返回JSON对象.这个服务器有很多负载,所以我们做了很多性能改进.
API从客户端收到ID.服务器有一堆代表这些ID的文件.因此,如果将ID作为文件找到,则后端将返回该文件的内容(即JSON).如果文件不存在,则不调用后端,Nginx simple会为此发送404,因此我们保存了性能(没有后端系统必须运行).
现在我们偶然发现了一个问题.由于我们仍然需要支持旧系统,我们无法为客户分发404页面,因为这会导致问题.我想出的是,返回一个空的JSON字符串,而不是({}假的)200状态代码.这需要是一个高性能的解决方案,仍然能够处理所有负载.
这可能吗,如果可以,怎么做?
我想知道,如何维护更大的JavaScript项目?我一直在研究AMD系统,例如RequireJS和BackboneJS.但是,我宁愿看到我的JavaScript文件包使用构建系统或其他东西合并到一个缩小的文件中.看看jQuery的Github存储库,他们似乎做了类似的事情.那么问题是,是否有构建JavaScript系统或任何其他方法将多个JS文件合并为一个?
我目前正在开发一个必须在计算机系统和平板电脑上运行的网络应用程序.甚至可能是智能手机.现在,菜单在一页上,彼此水平相邻.我们的想法是,您可以通过滑动内容来切换菜单,就像您可以在平板电脑和智能手机上进行操作一样.此外,还有用于计算机用户的按钮,用于切换菜单.
菜单内容将使用JQuery的AJAX函数加载,菜单将通过JQuery的animate函数移动.
现在我想知道如何正确制作这个动画.滑动时我需要采取速度,方向和距离insto帐户.单击按钮时,应应用静态速度.
任何想法?
最近我一直在尝试创建自己的 PHP 框架,只是为了从中学习(因为我们可能会研究一些更大、更强大的生产框架)。我目前的一个设计理念是,大多数核心类主要处理类内的静态函数。
几天前,我看到了几篇关于“静态方法是可测试性的死亡”的文章。这让我担心..是的..我的类主要包含静态方法..我使用静态方法的主要原因是很多类永远不需要多个实例,并且静态方法很容易在全局范围内访问。现在我意识到静态方法实际上并不是最好的方法,我正在寻找更好的替代方法。
想象一下以下代码来获取配置项:
$testcfg = Config::get("test"); // Gets config from "test"
echo $testcfg->foo; // Would output what "foo" contains ofcourse.
/*
* We cache the newly created instance of the "test" config,
* so if we need to use it again anywhere in the application,
* the Config::get() method simply returns that instance.
*/
Run Code Online (Sandbox Code Playgroud)
这是我目前拥有的一个例子。但根据一些文章,这很糟糕。
现在,我可以按照 CodeIgniter 的方式执行此操作,例如使用:
$testcfg = $this->config->get("test");
echo $testcfg->foo;
Run Code Online (Sandbox Code Playgroud)
就我个人而言,我发现这更难阅读。这就是为什么我更喜欢另一种方式。
简而言之,我想我需要一种更好的方法来上课。我不希望配置类有多个实例,以保持可读性并轻松访问该类。有任何想法吗?
请注意,我正在寻找一些最佳实践或包括代码示例的内容,而不是一些随机的想法。另外,如果我绑定到 $this->class->method 样式模式,那么我会有效地实现它吗?
javascript ×3
php ×2
arrays ×1
class ×1
coding-style ×1
css ×1
hammer.js ×1
html ×1
jquery ×1
json ×1
nginx ×1
performance ×1
phpstorm ×1