Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 按行号筛选数组的数组_Javascript_Jquery_Arrays_Handsontable - Fatal编程技术网

Javascript 按行号筛选数组的数组

Javascript 按行号筛选数组的数组,javascript,jquery,arrays,handsontable,Javascript,Jquery,Arrays,Handsontable,我正致力于基于网站的内置搜索功能,复制一个带有手持设备的实时过滤框 现在我正在使用文档中最简单的用例() 数据是一组数组: var data = [ ['Nissan', 2012, 'black', 'black'], ['Nissan', 2013, 'blue', 'blue'], ['Chrysler', 2014, 'yellow', 'black'], ['Volvo', 2015, 'yellow', 'gray'] ], 如文档中所述,在此代码中,如果您输入搜索

我正致力于基于网站的内置搜索功能,复制一个带有手持设备的实时过滤框

现在我正在使用文档中最简单的用例()

数据是一组数组:

var
data = [
  ['Nissan', 2012, 'black', 'black'],
  ['Nissan', 2013, 'blue', 'blue'],
  ['Chrysler', 2014, 'yellow', 'black'],
  ['Volvo', 2015, 'yellow', 'gray']
],
如文档中所述,在此代码中,如果您输入搜索字符串,您将使用以下函数获得输出到控制台的匹配单元格:

         Handsontable.Dom.addEvent(searchFiled, 'keyup', function (event) {
                var queryResult = hot.search.query(this.value);

                console.log(queryResult);
                hot.render();
我对它进行了如下修改:

            function getRowsFromObjects(queryResult) {
                rows = [];
                for (var i = 0, l = queryResult.length; i < l; i++) {
                    debugger
                    rows.push(queryResult[i].row);
                }
                console.log('rows',rows);
                return rows;
            }

            Handsontable.Dom.addEvent(searchFiled, 'keyup', function (event) {

                var queryResult = hot.search.query(this.value);

                console.log(queryResult);
                rows = getRowsFromObjects(queryResult);
                hot.render();
            });
有没有一种简单的方法可以通过javascript中的行号(即索引)过滤数据(一个数组数组)

我的计划是抓取过滤后的数据行并重新呈现表

编辑:因为我的问题可能会让人困惑。下面是一个例子:

 data = [a,b,c,d] - the letters are arrays
 rows = [0,1],
我想应用一个过滤器,以便输出

data = [a,b]

您可以通过一个相当简单的
Array.prototype.filter
调用来实现这一点:

//安装程序。。。
var数据=[],指数=[1,3,5,7,8,9];
对于(变量i=0;i<15;i++){
数据推送('item#'+i);
}
//这就是魔法发生的地方
var filtered=data.filter(函数(d,ix){returnindex.indexOf(ix)>=0;});
//输出。。。

document.write(“”+JSON.stringify(过滤)+“”)长话短说,您有一个项目数组(每个项目都是一个数组,但这是巧合)-称之为数据,还有一个索引数组-称之为索引,并且您只需要一个新数组,其中包含数据中的项目,这些行的行号在索引中。是吗?我认为你所说的是正确的,我会在上面举个例子。谢谢,但我认为我的例子可能会更清楚。我认为两个版本都完全符合你的例子的要求。请试一试。好的,我花了一段时间才理解设置(对不起,JS新手)。是的,应该有用。非常感谢。
data = [a,b]