
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
(徹夜で力尽きる・・・)
<!DOCTYPE html>
<meta charset="UTF-8" />
<title></title>
<style>
</style>
<body>
<ol id="HOGE"></ol>
<script>
//平面上の点を扱いやすいように定義
class P {
constructor (x = 0, y = 0) { this.x = x; this.y = y; }//定義
add (p) { this.x += p.x; this.y += p.y; return this; }//加算
sub (p) { this.x -= p.x; this.y -= p.y; return this; }//減算
copy () { return new this.constructor (this.x, this.y); }//複写
norm () { return (this.x**2 + this.y**2)**.5; }//距離
distance (p) { return this.copy().sub(p).norm(); }//2転換の距離
}
//建物を定義
class Building extends P {
constructor (name, x, y) { super (x, y); this.name = name; }
clone () { new this.constructor (this.name, this.x, this.y)}
}
//建物を呼び出しやすいように簡素化
function B(n,x,y) { return new Building (n,x,y)}
//公共の建物
let pub = [ B("市役所",5,3), B("警察",7,1), B("消防",9,1), B("病院",9,0), B("学校",4,10),];
//物件の位置
let ary = [ B("物件1",9,10), B("物件2",9,1), B("物件3",3,9), B("物件4",1,6), ];
//公共の建物からの総距離を計算
ary.forEach (a=> a.total = pub.reduce ((total, p)=> total + p.distance (a), 0));
//距離で並び替え
ary.sort ((a,b)=> a.total - b.total);
//結果表示
for (let i = 0, I = ary.length; i < I; i++) {
let { name, x, y, total } = ary[i];
HOGE.appendChild (document.createElement ('li')).append (name,": ",total.toFixed (3)," km");
}
</script>
この回答へのお礼
お礼日時:2022/01/19 05:40
ご連絡ありがとうございます。
わざわざ徹夜での作業までしていただいて本当にありがとうございます。
ぜひ自分のシステムに改良して取り入れたいと思います。
本当にありがとうございました!!
No.3
- 回答日時:
let 値 = 2, 配列 = [4,1,2];
let 処理後 = 配列.map( n => 値*n ).sort( (a,b) => a-b );
表示(処理後); // [2, 4, 8]
行と列の直積ならば
let 行 = [1,2,3], 列 = [2,3,4];
let 計算 = (p,v) => p.concat(列.map( n => n*v ));
let 処理後 = 行.reduce(計算, []).sort( (a,b)=>a-b );
この回答へのお礼
お礼日時:2022/01/16 18:30
ご回答ありがとうございます。
物凄くわかりやすく説明で、初学者の私でも調べながらですが
理解することが出来ました。
色々自分のサイトに改良して取り入れてみようと思います!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
jspからjavascriptの変数引継ぎ
-
C#テキストボックスの文字を配...
-
オブジェクトから任意のプロパ...
-
二次元配列を使って順位をだす...
-
関数でy=g(x)のgとは何の略です...
-
javascriptで文字挿入でtoggle...
-
Excel VBA の ChangeFileAccess
-
javascript画面を自動で切り替...
-
C#で、ContextMenuStripに動的...
-
webページ上のTabキーの動き
-
Boolean型配列中のTrueの有無を...
-
シンプルなweb版スタンプラリー...
-
functionから別のfunctionを実...
-
C#OpenCv V4にのエラーに関する...
-
マウスストーカーやクリックで...
-
onchangeイベントを使ってspan...
-
ASP+アクセスでのSQLコメントに...
-
○歳△ヶ月と×日を計算してくれる...
-
【正規表現】【javascript】CR...
-
アンカーリンクをクリックさせ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
同じIDで定義した要素の配列を...
-
jspからjavascriptの変数引継ぎ
-
C#テキストボックスの文字を配...
-
undefinedを表示させない方法は...
-
雪を降らせるみたいな、ゆらゆ...
-
JavaScriptで簡単なクイズを作...
-
1から20までの整数から、重複な...
-
javascriptで行を抽出したいです。
-
Perlの配列をJavaScriptに渡せ...
-
javascript 変数名の連結をしたい
-
jQueryで文字数カウンタ(複数...
-
配列データの利用方法
-
時計を複数表示する場合
-
("Scripting.Dictionary")につ...
-
順列生成アルゴリズムについて...
-
配列の数ではなく、文字列の長...
-
JSONデータを50音順でソートしたい
-
総当りの配列を返す関数の作成
-
javascriptで2つのArrayの...
-
JavaScriptにおける[] とか :...
おすすめ情報
一つの値に対して、複数の値を足したりできるのかをお聞きしました。
わかりづらくて申し訳ありません。
例えば・・・
calc1 = [1]の「1」という値と、
calc2 = [2,4,6,8,10]の全部の値を取り出して、足したり掛けたりできるのか。
result = (1*2、1*4、1*6、1*8,1*10)
みたいなことをjavascriptで出来るのでしょうか?