javascript在内容上切片

时间:2015-08-14 02:09:24

标签: javascript arrays

有没有办法用javascript对数组进行切片但不是根据维度的索引而是根据其第j个元素的内容(假设值的唯一性)?

示例:

myArray = [["a", "b", "c"], ["car", "hat", "plate"], ["red", "green", "black"]] 

myArray上切换0,1会给出

[["c"],["plate"],["black"]]

并在"black"上切片应该会得到相同的结果。

我的问题有什么用?比如说我的数组来自解析文件的行,我想要对标题(第一行)进行切片,但是 - 被解析文件的标题(尽管相同)是随机顺序。

由于

2 个答案:

答案 0 :(得分:2)

您可以简单地遍历2D数组并在每个数组上调用mimetypes.init()

slice(j)

以下是一个示例代码段:

for(item in myArray)
    Array[item] = myArray[item].slice(2);

使用var myArray = [["a", "b", "c"], ["car", "hat", "plate"], ["red", "green", "black"]]; for(item in myArray) myArray[item] = myArray[item].slice(2); console.log(myArray);作为参数,通过每个数组并找到这样的元素。当您找到匹配项时,只需致电"black"即可获得正确的indexOf()并使用该index

2

注意:当有多个var index = "black"; for(item in myArray) if(myArray[item].indexOf(index) != -1) index = myArray[item].indexOf(index); // index = 2 时会出现问题,在这种情况下,"black"将是index中的"black" {} 1}}。

答案 1 :(得分:1)

如果要使用数组元素的值进行搜索,请使用indexOf()。

 myArray = [["a", "b", "c"], ["car", "hat", "plate"], ["red", "green", "black"]];

    var index = myArray.indexOf("black");

    for(value in myArray)
        myArray[value] = myArray[value].slice(index);