获取所有行的最大文本长度

Getting max text length out of all rows

本文关键字:文本 获取      更新时间:2023-09-26

如何从所有行中获取所有文本的长度。我有变量作用域的问题。我只得到最后一行的文本长度。

代码:

pointerclick: function (evt, x, y) {
    var className = evt.target.parentNode.getAttribute('class');
    if (className === 'element-tool-remove')
    {
        this.model.remove();
        console.log("element removed");
        var embeddedCells = parent1.getEmbeddedCells();
        var t = new Array();      
        var maxTextLength;
        for(var d = 0; d < embeddedCells.length; d++)
        {
            t[d] = embeddedCells[d].attributes.attrs.text.text.length;
            var maxTextLength = Math.max(t[d]);
            //console.log("max text length is: " + maxTextLength);
        }
        console.log("max text length is: " + maxTextLength); // printing only last element's text length but not the max value out of all
    }
    joint.dia.CellView.prototype.pointerclick.apply(this, arguments);
}

如何从所有行中获得最大值?

尝试:

pointerclick: function (evt, x, y) {
    var className = evt.target.parentNode.getAttribute('class');
    if (className === 'element-tool-remove')
    {
        this.model.remove();
        console.log("element removed");
        var embeddedCells = parent1.getEmbeddedCells();
        var t = new Array();      
        var maxTextLength = 0;
        for(var d = 0; d < embeddedCells.length; d++)
        {
            t[d] = embeddedCells[d].attributes.attrs.text.text.length;
            maxTextLength = Math.max(t[d], maxTextLength);
            //console.log("max text length is: " + maxTextLength);
        }
        console.log("max text length is: " + maxTextLength); // printing only last element's text length but not the max value out of all
    }
    joint.dia.CellView.prototype.pointerclick.apply(this, arguments);
}

我已经将0作为默认值分配给maxTextLength变量,并且在循环中,如果新值较大,我将替换maxTextLength的值。我没有方法来测试代码,但它应该工作。