标签: indexof

为什么这个List <>.IndexOf代码比List [i]和手动比较快得多?

我在这段代码上运行AQTime,我发现.IndexOf占用了16%的时间而接近80%的另一块......他们似乎使用相同的IsEqual和其他例程.被称为116,000次,插入30,000件物品.List <>对象都没有超过200个元素.(我可能错误地使用AQTime,我正在研究这个)

class PointD : IEquatable<PointD>
{
    public double X, Y, Z;

    bool IEquatable<PointD>.Equals(PointD other)
    {
        return ((X == other.X) && (Y == other.Y) && (Z == other.Z));
    }
}

class PerfTest
{
    readonly List<PointD> _pCoord3Points = new List<PointD>();
    public int NewPoints;
    public int TotalPoints;

    public PerfTest()
    {
        NewPoints = 0;
        TotalPoints = 0;
    }
    public int CheckPointIndexOf(PointD pt)
    {
        int retIndex = _pCoord3Points.IndexOf(pt);
        if (retIndex < 0)
        {
            _pCoord3Points.Add(pt);
            NewPoints++;
        }
        TotalPoints++;
        return retIndex;    
    }

    public int CheckPointForBreak(PointD pt) …
Run Code Online (Sandbox Code Playgroud)

c# performance indexof

9
推荐指数
1
解决办法
5185
查看次数

在VB.NET中使用String数组的IndexOf

如何在以下代码中找到字符串数组中项的索引:

Dim arrayofitems() as String
Dim itemindex as UInteger
itemindex = arrayofitems.IndexOf("item test")
Dim itemname as String = arrayofitems(itemindex)
Run Code Online (Sandbox Code Playgroud)

我想知道如何在字符串数组中找到项的索引.(所有项目都是小写的,所以大小写无关紧要.)

vb.net arrays indexof

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

无法在复杂数组上使用indexOf

可能重复:
对象数组中的indexOf方法?

我有一个遵循这种格式的javascript数组:

var arrayName = [
{id: "a", gender: "man",   item: "stuff"},
{id: "b", gender: "woman", item: "stuff"},
{id: "c", gender: "man",   item: "stuff"},
{id: "d", gender: "man",   item: "stuff"}
];
Run Code Online (Sandbox Code Playgroud)

有没有办法可以使用array.indexOf在数组中查找索引,例如我知道"id"变量.

比如我试过;

var position = arrayName.indexOf("b");
arrayName[position].gender = "man"
Run Code Online (Sandbox Code Playgroud)

我正在使用的那一刻;

for(var i=0; i<arrayName.length; i++) {
   if(arrayName[i].id == "b"){
       arrayName[i].gender = "man";
   }
}
Run Code Online (Sandbox Code Playgroud)

第二种技术有效,但我使用的实际数组在每个条目中有150个条目和10个项目,因此当我知道要编辑的条目的"id"时,循环遍历它似乎非常浪费.如果我可以使它工作,indexOf将是一个更清洁的方法.

javascript arrays indexof

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

来自德国字符串的IndexOf的奇怪结果

我有字符串"Ärger,-Ökonom-I-Übermut-ẞ-SS",当我运行的IndexOf(" - ")我得到的23的结果如果我使用Replace的相同的字符串没有被替换.

我不明白发生了什么,所以有人可以就这个问题说清楚吗?Application Culture是在Croatian上设置的,它不是德语,框架版本是3.5.

将文化转变为德语(de-DE)并不会改变这种奇怪的行为.

以下是调试器的屏幕截图:

在此输入图像描述

.net c# cultureinfo indexof

9
推荐指数
1
解决办法
529
查看次数

Javascript .indexOf无法处理int数组

码:

function showlayer(name){
    var size = js_array.length
    var index = js_array.indexOf(name);
    var plusOne = js_array[index+1];
    document.write("" + name + "<br />" + js_array + "<br />" + index + "<br />" +
                   plusOne + "<br />" )
    ...
}
Run Code Online (Sandbox Code Playgroud)

输出:

301
300,299,301,290,303,304,302,310,291,306,308,305,307,292,294,295,309
-1
300
Run Code Online (Sandbox Code Playgroud)

name的所有可能值都在数组中,但由于某种原因,indexOf()永远不会找到它们.这是怎么回事?

javascript indexof

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

哈克将javascript编号转换为UInt32

编辑:此问题已过期,因为Polyfill示例已更新.我在这里留下这个问题仅供参考.阅读关于按位移位运算符的有用信息的正确答案.


题:

在Mozilla Array.prototype.indexOf页面的Polyfill示例中的第7行,他们对此进行评论:

var length = this.length >>> 0; // Hack to convert object.length to a UInt32
Run Code Online (Sandbox Code Playgroud)

但Mozilla上的按位移位规范明确指出运算符返回与左操作数相同类型的值:

移位运算符将其操作数转换为32位整数,并返回与左操作数相同类型的结果.

所以不应该长度接收标准的64位浮点值?或者有人能指出黑客入手的地方?

javascript bit-manipulation indexof uint32 operator-keyword

9
推荐指数
1
解决办法
7394
查看次数

获取jq中的对象数组索引

我有一个看起来像这样的json对象(由...生成)i3-msg -t get_workspaces.

[
  {
    "name": "1",
    "urgent": false
  },
  {
    "name": "2",
    "urgent": false
  },
  {
    "name": "something",
    "urgent": false
  }
]
Run Code Online (Sandbox Code Playgroud)

我试图用来jq确定列表中的哪个索引号是基于select查询的.jq有东西叫index(),但它接缝只支持字符串?

使用类似的东西i3-msg -t get_workspaces | jq '.[] | select(.name=="something")'给我我想要的对象.但我想要它的索引.在这种情况下2(从0开始计数)

这有可能jq单独使用吗?

arrays json indexof jq

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

JavaScript 检查字符串是否至少有三个字符在另一个变量中

我有一个变量activeUserName和一个变量manager1

如何检查是否activeUserName包含至少三个字符,在manager1?(这些字符的位置无关紧要)

例如在下面的例子中,它应该返回 true,因为字符 'J'、'o' 和 'e' 在里面manager1

var activeUserName = "JohnDoe100";
var manager1 = "JYZALoe999";
Run Code Online (Sandbox Code Playgroud)

现在我正在使用 indexOf 方法并且只查看某些位置的字符,这就是我想改变它的原因:

if (isEditor == false){
    if (((activeUserName.indexOf(manager1.charAt(0)) !== -1)  && (activeUserName.indexOf(manager1.charAt(2)) !== -1)) || (activeUserName.indexOf(manager1.charAt(4)) !== -1)){
        // doSth();
    } else if (((activeUserName.indexOf(manager2.charAt(0)) !== -1)  && (activeUserName.indexOf(manager2.charAt(2)) !== -1)) || (activeUserName.indexOf(manager2.charAt(4)) !== -1)){
        // doSth();
    } else {
        // doSth();
    }
}
Run Code Online (Sandbox Code Playgroud)

我读过 Regex,但我不确定这是否可以应用在这里。

任何帮助表示赞赏!

javascript string var character indexof

9
推荐指数
1
解决办法
1157
查看次数

在包含字符串的ArrayList中查找索引

通过使用Jsoup,我从网站解析HTML以填充ArrayList我需要从网站获取的内容.所以现在我有一个ArrayList充满字符串的东西.我想在该列表中找到包含特定字符串的索引.例如,我知道列表中的某个地方,在某个索引中,有字符串(文字)"Claude",但我似乎无法制作任何代码,找到contains"Claude"中的索引ArrayList...这里是我尝试过但返回-1(未找到):

ArrayList < String > list = new ArrayList < String > ();
String claude = "Claude";

Document doc = null;
try {
    doc = Jsoup.connect("http://espn.go.com/nhl/team/stats/_/name/phi/philadelphia-flyers").get();
} catch (IOException e) {
    e.printStackTrace();
}
for (Element table: doc.select("table.tablehead")) {
    for (Element row: table.select("tr")) {
        Elements tds = row.select("td");
        if (tds.size() > 6) {
            String a = tds.get(0).text() + tds.get(1).text() + tds.get(2).text() + tds.get(3).text() + tds.get(4).text() + tds.get(5).text() + tds.get(6).text();

            list.add(a);

            int …
Run Code Online (Sandbox Code Playgroud)

java string arraylist indexof jsoup

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

为什么Array.IndexOf没有像List <T>那样检查IEquatable呢?

考虑以下代码:

public static void Main()
{
    var item = new Item { Id = 1 };

    IList list = new List<Item> { item };
    IList array = new[] { item };

    var newItem = new Item { Id = 1 };

    var lIndex = list.IndexOf(newItem);
    var aIndex = array.IndexOf(newItem);

    Console.WriteLine(lIndex);
    Console.WriteLine(aIndex);
}

public class Item : IEquatable<Item>
{
    public int Id { get; set; }

    public bool Equals(Item other) => other != null && other.Id == Id;

} …
Run Code Online (Sandbox Code Playgroud)

.net c# collections indexof iequatable

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