+ JavaScript の質問用スレッド vol.121 +
レス数が1000を超えています。これ以上書き込みはできません。
JavaScript に関する何でも質問スレです。
お気軽にどうぞ。 -単項演算子を(0 - x)と考えるか(-1 * x)と考えるか <div style="width:80%;height:500px;background:blue"></div>の
長方形の中心座標はどうやって求めればいいんですか?
長方形の左上を原点(0,0)とする。y座標は500/2=250ってすぐに出るけど
x座標が固定値じゃないのでわからん。 fixedで固定表示している要素を、一定量スクロールするとabsoluteにして、
JSでtopの座標を指定して、浮いている状態が解除されたように見せています。
この機能がAndroidのchromeだと、上スクロール時にだけ表示されるアドレスバーと
ツールバーによって、fixedからabsoluteに変わるスクロール量がずれてしまうようで、
意図しないタイミングで切り替わっています。
どうにか改善する方法はありませんでしょうか? javascriptからNode.jsで立てたサーバ内のsqliteファイルを操作する方法を知りたいです
検索するとNode.jsでしか使えないコマンドを使ったものしか見つかりません >>906
そうなのですが、サンプルコードに載ってるrequestがエラーを出力します
Node.jsだけで使える関数があるようで、単にjsファイルとして呼び出すだけではエラーを返されます node.jsがjavascriptだからと言ってもブラウザのスクリプトから直に操作はできない
サーバー側でデータベースを操作するためのwebインターフェースを作ってそれにあわせてfetchやwebsoketで対話
node以外のサーバーでのやり方と何も変わらない なんかすごいね
よくサーバー立てられたなと感心する んなこと言ったら世の中に失敗作じゃないものなんてほとんど無い。 >>908
> node.jsがjavascriptだからと言ってもブラウザのスクリプトから直に操作はできない
そういう意味じゃなくて、「javascript(Node.js)からNode.jsで立てたサーバ内のsqliteファイルを操作する方法」は既に出来てる、と伝えたかった
JavaScriptの実行環境が本人の口から出てこないので結局、伝わらなかったが そもそも「Node.jsで立てたサーバ内のsqliteファイル」があり得ないよな
「Node.jsでサーバ(ソフト)を立てたサーバ(ハード。物理か論理か知らんが)内のsqliteファイル」という意味かな 複数のNodeListを一つのNodeListとして変数に入れることは可能でしょうか?
Array.fromでArrayにしてからつなぐのが無難なんでしょうか >>911
nodeの開発者が失敗作と認めてるんだ どっちかというとdenoの方が失敗しそうだけどな。 >>915
NodeListには自身の編集用メソッドがない
1つにまとめて何をしたいのかによるが、DOM APIを使うならDocumentFragmentにしておけば、大体は対応できる ありがとうございます
DocumentFragment勉強してきます >>892
例えば、Ruby on Rails では、Node.js, Webpack, Babel, Bootstrap などを使っているから、
プロジェクトを作るだけで、node_modules 以下に、数千ものJavaScript のモジュールが入る。
React, Vue.js を使えば、さらにそれ用のモジュールも入る
>>905
例えば、Ruby on Rails では、プロジェクトを作って、モデル(テーブル)を定義すれば、
3大データベース、sqlite, mysql, postgresql でアクセスできる
さらに、scaffold という魔法の呪文を唱えれば、最初から、CRUD 操作もできる
だから最初から、Railsのようなフレームワークを使えばよい。
サーバー側は、Rails一択。それ以外は使われていない。
Node.js も分かりにくいだけ
詳しくは、YouTube で有名な、雑食系エンジニア・KENTA のサロンで聞いて下さい playerHeight = $("#player").height()!;
const top = position!.top;
とあるサイトに 上記のような コードがあり "!" の意味が分かりません。
これってjqueryなどの特定ライブラリの書き方なのでしょうか
参考になるサイトがあれば教えていただきたいです。 きっとそこで何かビックリすることがあったんじゃないかな TS は、Type Script
TypeScriptの変数の末尾の"!"(エクスクラメーション/感嘆符)の意味
https://qiita.com/zigenin/items/364264a6cf635b962542
この"!"の呼び方は、Non-null assertion operator
プログラマがコンパイラに対して、
この変数はundefinedやnullになることはありません、と教える記述
let a = f( ); // 戻り値の型は、string | undefined とする
return a! ;
ここで、f からの戻り値が、undefined, null ではないと、
プログラマーが絶対の確信が持てるのなら、
無理矢理、a! として、undefined, null になる可能性を除去して、
string型だけであると、コンパイラに教えることができる
このように、コンパイラを欺いたら、後で大きなしっぺ返しを食らうかも valueは値みたいなイメージで使うことが多いと思うのですが、valueの変わりにelementとしてる人を見かけます。
これってどう違うのでしょうか 問答無用にElementのインスタンスだろうそれは、と
自分はvalueは数値くらいにしか使ってないな
文字列はxxStrとか、日付はxxDtとか >>930
さすがに書いた人に聞いてくれ、としか
>>923といい、エスパー案件ばかりなんだが、なぜ証拠となるコードも出さずに当てずっぽうの回答をさせるんだ? https://test.wikinist.info/?page_id=51
フィルタ作ってます。
MemとWomenにチェックが入ってる時はその中からフィルタしたいと思ってるんですがどうしたらいいでしょうか?
現状はチェックした奴が全て表示されます。 >>933
複数条件でフィルタリングすると該当なしってのもあり得るけど
その場合どうなる仕様なの?何も表示なし? >>934
Menにチェックが入っていてWomenの値が入ってる人をチェックした場合は表示なしって感じにしたいです
最初はリターンをこんな感じで書いてましたが何も表示されませんでした。
return filterArr.find(element => ((element.el === item.values().name) || (element.el === item.values().city)) && (element.el === item.values().sex)); 雰囲気的にmen womenが両方チェックありと両方チェックなしの場合は同じ扱い?
実現したい仕様があやふやでよく分からんのだが >>933でコードが出たが、今度は要求仕様がエスパー案件になったな men womeonの両方がチェックと両方チェックなしは同じ扱いということにしたいと思ってます。 小手先でどうにかならないか考えたけど結局汚くなった
sexだけ扱い違うのにname,cityと一律並べてる時点で無理があるぞ
https://jsfiddle.net/5zeorj9u/ >>929
ありがとうございます。
わかりました。 >>939
ありがとうございます。
最後の部分で何と何を&&で評価しているのかあまり理解できないのでconsole logで確認したいと思ってますが
1行のアロー演算子使ってる場合ってどうやって間にconsole logをいれたらいいのでしょうか? >>941
カンマ演算子で実現可能だけど無理やり1行にする意味は無い https://jsfiddle.net/raion2542/q10vxbde/14/
https://jsfiddle.net/raion2542/eoLtsd5b/8/
1つ目はlist.js 2つ目はTabulator.jsを使っています。
この2つを共存させることはできますでしょうか?
「〜でソート」を押してソートできるかどうかです
2つ目の方のJSの一番下に
const options = {
valueNames: ['name','corporation','callsign','frequency','power'],
};
const featureList = new List('sample-list', options);
を書き込みましたがうまくいきませんでした 昔Ajaxというのが流行ったと思うのですが今も使われているんでしょうか?
あまり聞かない気がするのですが死語で名前が変わったりしました? >>945
今も使ってるとこでは使ってるけど、Fetch APIも結構こなれてきた jQueryのAPIに名前が残ってるけど
今の時代JSが通信するなんて当たり前なので一々ajaxとは呼ばない >>946-947
説明ありがとうございます。今はFetch API?というのを使うのですか?
授業でこれを使えと言われたのですが今もこのコード使っても問題ないでしょうか?
// ===== Ajaxのお約束オブジェクト作成================================
// [入力]
// ・なし
// [出力]
// ・成功時: XmlHttpRequestオブジェクト
// ・失敗時: false
function createXMLHttpRequest(){
if(window.XMLHttpRequest){return new XMLHttpRequest()}
if(window.ActiveXObject){
try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(e){}
try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(e){}
try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(e){}
}
return false;
}
:
:
xhr = createXMLHttpRequest();
if (xhr) {
sUrl_to_get = sUrl_ajax;
sUrl_to_get += '?zipcode='+sZipcode;
sUrl_to_get += '&dummy='+parseInt((new Date)/1); //(*1)ブラウザcache対策
xhr.open('GET', sUrl_to_get, true);
xhr.onreadystatechange = function(){zip2addr_callback(xhr, sAjax_type)};
xhr.send(null);
} // *1: GETメソッド時はURL文字列に、POSTメソッド時はsendの文字列につける この本、2019 年8 月12 日初版発行らしいです。 FetchではなくXMLHttpRequest使うにしても
もうIE6以下用のActiveX用の部分はいらんでしょ xhrにActiveX…
IE亡き令和の世では仕事にも個人サイトにも使えないと思うがお勉強にはなる…のかな? >>950-951
ソースコードはこれですねー
https://github.com/ShellShoccar-jpn/zip2addr/blob/master/public_html/zip2addr.js
この本に書かれていますー
初めてのPOSIX原理主義 超進化を遂げたシェルスクリプトを学ぶ15回の講義
https://richlab.org/coterie/lpf.html
金沢大学の講義「シェルスクリプト言語論」で教えてる内容ですー
JavaScriptライブラリを使うと、ブラウザの独自機能を使っている恐れがあって
将来動かなくなる恐れがあるから、jQueryもReactも使うな。自分でかけ。
たった数十行のコードで書けるって
こういうコードを書けと学生に教えてるんですー
他にもgitを使うな、ファイルコピーで管理しろとか教えてますー ゴミクソ教師だな
絶対に就職できないわ
ActiveXってIEサポート終了が来月なのに何考えてるんだ
サポート終了も何もオープンソースなんだから世界中でサポートしてるようなものだろ
地球から出ていくなら全部自前でいいだろうがそんな考え方で独自路線で育った学生が就職できるのかね >>953
ゴミクソ教師? USPというユニケージというシェルスクリプトで
業務システムを開発しろっていう方法論を広めている会社の社員ですよ?
どんな人か?こんな人です。
「口やかましい少数派」に翻弄されるQiitaサポートは無能である
https://qiita.com/richmikan@github/items/8831c97598cc095e2b95
品位が問われるAdvent Calendar ― シェルスクリプトはどこでも動く!
https://qiita.com/richmikan@github/items/5f53a14a79874d56a2ff
あ、Twitterとか見ないようにねw >>955
あんたが学生なのかと思った
リンクが気持ち悪いからほぼ読まなかったがお前にとって何が重要なのかを考えたほうがいい >>948
わかってて質問してんだろ
お前の遊びに俺らを巻き込むな >>948
ActiveXObject, xhr.onreadystatechange とか使わない
Ajax は、jQuery か、
今は、axios が多い ただのUSP製品の宣伝をしてるだけの授業
https://richlab.org/j/2v62
・usp Tukubai(通称Tukubai)コマンド
・シェルスクリプトによるシステム開発を補完・強化するために作られた独自UNIXコマンド
・シェルスクリプトを、単なるサーバー管理言語から、アプリケーション開発言語へと進化させる。
・データ整理が特に得意で、RDBを過去のものにする処理速度を誇る。(参照→ 「スピードがすべてを駆逐する」)
・一部は、無償版(Open usp Tukubai)も公開されている
usp Tukubaiなんか世界中で「使われていません」
RDBよりも「圧倒的に遅く」「クラウドで使えません」
SQLは広く使われており、どこでも使えます 自己矛盾する授業内容
https://richlab.org/j/2d62
・一人(一社)が所有・支配しているものは
標準語ではない。
・その人の意向で、使い方のルールが
変わってしまう恐れがある。
⇒話者(ユーザー)が翻弄される
・いざという時の代替品がない。
⇒サポート終了や欠陥発覚で、話者(ユーザー)の
逃げ道がなくなる。
↑それはUSP研究所が独自で開発している
プロプライエタリなコマンドのことです!
SQLといった標準規格が存在するものは「標準語」です
オープンソースは移植性が高く実際にどこでも動いている POSIX原理主義者「POSIXではsleepでミリ秒の指定ができない?
だから私が作った。https://qiita.com/richmikan@github/items/65a55a405874e655fbac
すごいだろう?ないものは作ればいい!」
いやでもGNUもBSDでもsleepコマンドはミリ秒の指定できますよね?
POSIX原理主義者「それはPOSIXじゃない!使ってはならない。
だから私は自分で作った!それを使え」
GNUやBSDのsleepコマンドを使いますよw POSIX原理主義者「UNIX哲学にはどうしてもC言語じゃなきゃダメな局面がなければすべきではないと書いてある」
書いてませんよ?
POSIX原理主義者「すべてのPOSIXコマンドは、どうしてもC言語じゃなければ行けないから、C言語で書いてある!」
basename、dirname、cut、true、false、head、tail、nl、あたりは
シェルスクリプトで簡単にかけますよ
POSIX原理主義者の理論はぜ〜んぶ適当
居酒屋のおっさんの自分語りレベル POSIX原理主義者「yesコマンドは素晴らしいコマンドだ。その本当に意義を理解できるのはUNIX哲学を理解してる我々のみ!」
うん、でもyesコマンドってPOSIXコマンドじゃないですよね?
POSIX原理主義者「え?」
え?じゃなくてyesコマンドは、あんたの理論では使ってはダメなの
POSIX原理主義者「C、C言語で書けば、」
yesコマンドは使えないコマンドだからPOSIXコマンドじゃないの
POSIX原理主義者「yesコマンドはこのような使い方が、」
それはあんたが適当に思いついただけの変な使い方。本来の用途じゃないの。移植性もないの
POSIX原理主義者「自分で再発明することの素晴ら」
あんたが作ったものは使えないし、あんたが作ったものよりGNUやBSDの信頼性があるものを使う POSIX原理主義者「POSIXコマンドだけを使っていれば10年後もそのまま動く!どこでも動く!POSIXコマンドが改定されることはない!」
でもtarコマンド削除されましたよね?
POSIX原理主義者「POSIXコマンドはcompressだ!compressを使え!」
でもLinuxにインストールされてないんですが?
POSIX原理主義者「Linuxは完全にPOSIXに準拠してない!POSIXに準拠している環境ならどこでも動く!」
そのPOSIXに準拠している環境ってなんですか?
POSIX原理主義者「商用UNIXとmacOSだ!(どやぁ)」
じゃあ、どこでも動くんじゃなくてPOSIXに準拠してる商用UNIXとmacOSだけで動く
LinuxはPOSIXに準拠してないから動かないって言わなきゃね POSIX原理主義者「LinuxもだいたいPOSIXに準拠してるからだいたい動く。動かないものを避ければだいたい動くはずだ」
すっげー適当
理論のレベルじゃない
ただの思いつきで言ってるだけ SQLと同じことをするためにTukubaiという独自開発した
ライブラリに依存してくださいというのはおかしい
Tukubaiはプロプラライセンスで提供されているから会社が潰れたら共倒れじゃん
オープンソースのもあるけどPythonで作られてるからPythonがバージョンアップしたら終わりじゃん
他人が作ったライブラリに依存するのはダメだけど自分の会社が作ったライブラリ
に依存するのはOKという態度はダブルスタンダードだと思うんだよね >>955
軽く見た感想
@richmikan@githubは利己主義の塊のような人だなと
コメントを削除されたのは自業自得な感じ 質問です
const A = ["みかん","いちご","トマト","レモン"];
let test = false;
for(let i=0; i<A.length; i++){
if(A[i] == "キャベツ"){
test = true;
break;
}
}
if(!test){
alert("キャベツはありませんでした");
}
というスクリプト作ってますが、配列に自分の探したい要素が無かった時実行するというスクリプトって他に良いやり方ありますか? includesない時代はfindIndex使って戻り値を<0で比較してたっけ このスレ、回答来てない奴のなりすましが多いんだが、承認欲求強い奴が多いのかね × 回答来てない奴のなりすまし
○ 回答してない奴のなりすまし 度々すみません、再び質問ですが
質問です
const A = [{name:"みかん"},"{name:いちご"},{name:"トマト"},{name:"レモン"}];
let test = false;
for(let i=0; i<A.length; i++){
if(A[i].name == "キャベツ"){
test = true;
break;
}
}
if(!test){
alert("キャベツはありませんでした");
}
とこの場合はindexOfやincludes使えませんよね?
他にも便利なメソッドが存在したりするのでしょうか? A.find( ({ name }) => name === 'キャベツ' )
はどうよ >>978
上手くいきました!
これが最適ですね! なるほどfindは発見したオブジェクトを返してsomeはtrue falseで返してくれるんですね
もしかするとindexOfみたいに発見したらindexを、無かったら-1を返すようなものもあります? >>982
>>985の通りだが、ここまで来たら追加質問は、Array.prototypeのメソッドを自分で探してくれ
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array
console.dir(Array.prototype)でメソッド名を見て一つずつぐぐるとか、方法はあるだろ >>986
古い考えやなー
わからないことは自分で調べるより知ってる人に聞いたほうが何倍もはやいやろ chromeのデベロッパーツールのSourcesからimgフォルダの中の画像全部保存したいのだけど一括で保存できる方法ないでしょうか?
一つ一つはできるのですが数が多いので一括でやりたいです。 >>990
html質問スレに回答した
こっちにマルチしてるんならjsだからこっちに回答すべきだったな… >>991
古い考えやなー
わからないことはマルチポストしたほうが何倍もはやいやろ return filterArr.find(element => (element === item.values));
elementとitem.valuesが同じ値だったら表示するというものですが文字列を含むにする場合はどうしたらいいですか? >>933からの続きなんだろうけど
すまんが俺のエスパー力が足りないようだ >>995
お前上のほうでエスパー力って言ってる奴と同じやつやろ
能力ある奴はわからない質問があれば質問返してくれるんだよね。
つまり無能は黙ってろ 知らんけどちょっと上に出てるincludes使えばいいんじゃないの? 単純に考えればそうなんだけどvaluesが文字列とは思えんし
ぶっちゃけよく分からん >>998
だkらエスパーは黙ってろって
全部わからんしか言ってないやつやろ レス数が1000を超えています。これ以上書き込みはできません。