使用document.getSelection()将数据传递给数组,如document.getSelection()。toString()对字符串

时间:2017-08-15 09:49:27

标签: html angularjs arrays

我有一个带有过滤的角度JS表。我想只在数组cell []的数组rows []中的表中选择数据。这就是为什么我不能只导出表数据。 我已经尝试了document.getSelection()。toString()类,然后尝试了.split但是这个失败了,因为表中的元素可能包含多个单词,其中包含空格。

有没有办法循环通过document.getSelection()得到的对象并区分行和单元格?

有了这个,我把数据作为文本,但我需要一个数组:

    var txt = '';
    if (document.getSelection) {
        txt = document.getSelection().toString(); 
    } else if (document.selection) {
        txt = document.selection.createRange().text;
    }

在这里我得到了对象:

    if (document.getSelection) {
        txt = document.getSelection(); 
    } else if (document.selection) {
        txt = document.selection.createRange();
    }
    console.log(txt)

Selection {anchorNode:,anchorOffset:0,focusNode:,focusOffset:3,isCollapsed:false,rangeCount:1,caretBidiLevel:0}

1 个答案:

答案 0 :(得分:1)

实际上答案很简单。我只需要使用document.getSelection()。toString()函数并使用split(" / n")将所有行放入数组中,然后我再次使用split来分隔元素列单元格之间添加的选项卡。

var tmp = [];
var rows = [];
var cells = [];
tmp = txt.split("\n");
for (var i=0; i<tmp.length; i++) {
  cells.length = 0;
  cells = tmp.split("\t");
  rows.push(cells);
}