小编Lar*_*tle的帖子

在Javascript中覆盖等价比较

是否可以在Javascript中覆盖等价比较?

我得到的最接近的解决方案是定义valueOf函数并在对象前面用一个加号调用valueOf.

这有效.

equal(+x == +y, true);
Run Code Online (Sandbox Code Playgroud)

但这失败了.

equal(x == y, true, "why does this fail.");
Run Code Online (Sandbox Code Playgroud)

这是我的测试用例.

var Obj = function (val) {
    this.value = val;
};
Obj.prototype.toString = function () {
    return this.value;
};
Obj.prototype.valueOf = function () {
    return this.value;
};
var x = new Obj(42);
var y = new Obj(42);
var z = new Obj(10);
test("Comparing custom objects", function () {
    equal(x >= y, true);
    equal(x <= y, true);
    equal(x >= z, true);
    equal(y >= z, true); …
Run Code Online (Sandbox Code Playgroud)

javascript operator-overloading qunit

34
推荐指数
3
解决办法
3万
查看次数

将Json转换为Xml的最简单方法

我在.net中有网络服务.当我从数据库中检索数据时,它返回Android Mobile中的JSON文件.如何将JSON文件转换为XML或文本.

java xml android json

14
推荐指数
3
解决办法
3万
查看次数

如何在ElasticSearch中对数字字段执行全文搜索?

题:

如果不将数字字段转换为字符串,我该如何在其上执行全文搜索?

我正在尝试模仿_all在执行查询时将数字字段动态转换为字符串的行为.

例.

建立:

curl -XPUT http://localhost:9200/test/items/1 -d '{accountId : 12341234, name:"Bob"}'
curl -XPUT http://localhost:9200/test/items/2 -d '{accountId : 980987, name:"Marry"}'
curl -XPUT http://localhost:9200/test/items/3 -d '{accountId : 234234, name:"Daniel"}'
Run Code Online (Sandbox Code Playgroud)

目的:

找到一个accountId数字4.

我做了什么.

我尝试了这两个查询,但收到了0次点击.

查询:

curl -XPOST "http://localhost:9200/test/items/_search" -d '{
  "query": {
    "term": {
      "accountId": "4"
    }
  }
}'

curl -XPOST "http://localhost:9200/test/items/_search" -d '{
  "query": {
    "query_string": {
      "query": "4"
    }
  }
}'
Run Code Online (Sandbox Code Playgroud)

输出:

{
    "took": 0,
    "timed_out": false,
    "_shards": {
        "total": 5,
        "successful": 5,
        "failed": 0 …
Run Code Online (Sandbox Code Playgroud)

query-string elasticsearch

9
推荐指数
2
解决办法
6683
查看次数

使用node.js覆盖文件中的一行

使用node.js覆盖大型(2MB +)文本文件中的行的最佳方法是什么?

我目前的方法涉及到

  • 将整个文件复制到缓冲区中.
  • 通过换行符(\n)将缓冲区拆分为数组.
  • 使用缓冲区索引覆盖该行.
  • 然后在加入后用缓冲区覆盖文件\n.

javascript filesystems node.js

8
推荐指数
1
解决办法
4229
查看次数

为什么2..toString()有效?

为什么2..toString()返回22.toString()会抛出此错误?

例:

console.log(2..toString()); // prints 2

// Firefox throws the error
// `SyntaxError: identifier starts immediately after numeric literal`
console.log(2.toString());

var x = 2;
console.log(x.toString()); // prints 2

// Firefox throws the error
//`TypeError: XML descendants internal method called on incompatible Number`
console.log(x..toString());
Run Code Online (Sandbox Code Playgroud)

javascript

8
推荐指数
3
解决办法
1416
查看次数

在crossfilter中过滤多个离散值

有没有人有过在多个值上过滤crossfilter对象维度的方法?就像是

.filterExact(["cash","visa"])
Run Code Online (Sandbox Code Playgroud)

要么

.filter(["cash","visa"])
Run Code Online (Sandbox Code Playgroud)

......但不是它的范围形式......

要么

.filterAll(["cash","visa"])
Run Code Online (Sandbox Code Playgroud)

......但没有清理部分.

或者不使用的等效变通方法/方法

.filterRange(["cash","visa"])
Run Code Online (Sandbox Code Playgroud)

??

或者我错过了API中的某些内容?

谢谢!

拉里

javascript d3.js crossfilter

7
推荐指数
2
解决办法
5580
查看次数

如何在CoffeeScript中克隆/复制对象的实例?

相当直截了当的问题,但谷歌搜索还没有发现任何东西.

如何在Coffeescript中复制/克隆/复制对象的实例?我总是可以创建一个clone()方法来返回一个带有复制值的新实例,但这似乎是一种容易出错的方法.

CoffeeScript提供更简单的解决方案吗?

javascript clone instance coffeescript

6
推荐指数
2
解决办法
1万
查看次数

使用正则表达式在Javascript中形成一个不带前导零的数字

我在编写一个正则表达式时遇到问题,该正则表达式可以从表示为字符串的数字中删除前导零.对不起,但是parseFloat不是我想要的,因为我将处理30位以上的数字.

我目前的正则表达式是

/(?!-)?(0+)/;
Run Code Online (Sandbox Code Playgroud)

这是我的测试用例. http://jsfiddle.net/j9mxd/1/

$(function() {
    var r = function(val){
        var re = /(?!-)?(0+)/;
        return val.toString().replace( re, '');
    };
    test("positive", function() {
        equal( r("000.01"), "0.01" );
        equal( r("00.1"), "0.1" );
        equal( r("010.01"), "10.01" );
        equal( r("0010"), "10" );
        equal( r("0010.0"), "10.0" );
        equal( r("10010.0"), "10010.0" );
    });
    test("negative", function() {
        equal( r("-000.01"), "-0.01" );
        equal( r("-00.1"), "-0.1" );
        equal( r("-010.01"), "-10.01" );
        equal( r("-0010"), "-10" );
        equal( r("-0010.0"), "-10.0" );
        equal( r("-10010.0"), "-10010.0" );        
    });
});
Run Code Online (Sandbox Code Playgroud)

为什么我的测试用例没有通过?

javascript regex qunit

5
推荐指数
1
解决办法
3768
查看次数

go build vs go build file.go

go build和之间有什么区别go build file.go

我问,因为当我运行go build导入本地包的包时,我收到此错误消息.

can't load package: C:\go\src\bug\main.go:3:8: local import "./local_file" in non-local package

但是,当我指定文件名时,它可以工作.防爆go build main.go

Windows XP上的控制台历史记录.

C:\gopath\src\bug:>go version
go version go1.1 windows/386
C:\gopath\src\bug:>dir
...
<DIR>          local_file
                55 main.go
...

C:\gopath\src\bug:>type main.go
package main

import _ "./local_file"

func main() {
}

C:\gopath\src\bug:>type local_file\local_file.go
package local_file

import "fmt"

func init() {
        fmt.Println("Called: local_file.init()")
}

C:\gopath\src\bug:>go run main.go
Called: local_file.init()

C:\gopath\src\bug:>go build main.go

C:\gopath\src\bug:>dir
...
<DIR>          local_file
         1,285,120 main.exe
                55 main.go  
... …
Run Code Online (Sandbox Code Playgroud)

compiler-construction build go

4
推荐指数
1
解决办法
3299
查看次数