「重複行を削除」の版間の差分

提供: MeryWiki
ナビゲーションに移動 検索に移動
MSY-07 (トーク | 投稿記録)
箇条書きの修正
MSY-07 (トーク | 投稿記録)
SyntaxHighlightにcopyの追加
 
(同じ利用者による、間の3版が非表示)
5行目: 5行目:


== ソースコード ==
== ソースコード ==
<syntaxhighlight lang="javascript">
<syntaxhighlight lang="javascript" copy>
#title="重複行を削除"
#title="重複行を削除"
/**
/**
11行目: 11行目:
  */
  */


if (document.selection.Text == "") {
var sel = document.selection;
document.selection.SelectAll();
if (sel.Text == "") {
sel.SelectAll();
}
}
var lines = document.selection.Text.split("\n");
var lines = sel.Text.split("\n");
var lineMap = {};
var lineMap = {};
var newLines = new Array();
var newLines = [];


for (var i = 0; i < lines.length; i++) {
for (var i = 0; i < lines.length; i++) {
26行目: 27行目:
}
}


document.selection.Text = newLines.join("\n");
sel.Text = newLines.join("\n");
</syntaxhighlight>
</syntaxhighlight>


== 変更履歴 ==
== 変更履歴 ==
* 2023-09-23
* 1.0.0 (2023-09-23)
** 初版
** 初版

2025年6月30日 (月) 01:05時点における最新版

このマクロはMery Ver 3.6.2で改善されたサンプルマクロの「重複行の削除」と同機能です。

概要[編集]

重複行を削除するマクロです。

ソースコード[編集]

#title="重複行を削除"
/**
 * 重複行を削除するマクロ
 */

var sel = document.selection;
if (sel.Text == "") {
	sel.SelectAll();
}
var lines = sel.Text.split("\n");
var lineMap = {};
var newLines = [];

for (var i = 0; i < lines.length; i++) {
	var line = lines[i];
	if (lineMap[line] == null) {
		newLines.push(line);
		lineMap[line] = line;
	}
}

sel.Text = newLines.join("\n");

変更履歴[編集]

  • 1.0.0 (2023-09-23)
    • 初版
スポンサーリンク