質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

1278閲覧

javascriptで文字列からある文字の位置取得

telwin

総合スコア8

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2018/05/14 02:47

javascriptにて、文字列からある文字(l)の位置を取得しようとしていますが、
なぜかエラーが出て取得できません。どこが間違っているのか不明ですので
教えてください。

エラーメッセージは以下です。

mParts_copy.indexOf is not a function.(In 'mParts_copy.indexOf("l")','mParts_copy.indexOf' is undefined)

該当のコード

javascript

1var serchIndex = mParts_copy.indexOf("l");

ちなみに、mParts_copyの内容をconsole.logで出力すると、以下の内容が入っており、
図形を描画するための座標等が入っております。
{"type":"path","attr":{"d":"M172,422l-1,0l-5,0l-3,0l-10,0l-7,0l-6,0l-8,0l-5,-4l-11,-6l-6,-4l-5,-10l-3,-5l-1,-16l0,-11l0,-23l0,-12l1,-3l3,-3l5,0l5,0l16,-1l14,0l20,0l17,0l21,0l13,6l10,6l7,8l8,9l4,8l3,7l0,5l0,5l0,2l0,3l-2,0l-5,2z","id":"id154","partstype":"Closed","stroke":"#000000","fill":"rgba(0,0,0,0.3)","style":"stroke-width: 2px; stroke-linecap: round; stroke-linejoin: round;"}}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2018/05/14 02:48

前後の処理を含めてなるべく全体の流れがわかるようなコードをご提示ください
telwin

2018/05/14 05:29

ご指摘ありがとうございます。エラーの内容的にコード全体は必要なのではと考えていました。
guest

回答1

0

ベストアンサー

mParts_copy は文字列ではありません
mParts_copy はオブジェクトです。ですから indexOf なんてメソッドは知りません

投稿2018/05/14 02:49

tacsheaven

総合スコア13703

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

telwin

2018/05/14 03:01

そういうことだったのですね。 ありがとうございます。 オブジェクトなので特定文字の位置情報は取得できないでしょうか? 実は、その取得した位置情報を元に内容を変更しようとしています。。。
tacsheaven

2018/05/14 03:07

このオブジェクトの位置情報は、{obj}.attr.d の中に入っていて、ここは文字列になっています。 ですからここに対して indexOf をかけることは可能ですが、そもそもこの d (Path 情報)の中のどこに i が出てくるのでしょう? ※もしかしてpath の先頭からa,b,c... と振って、i に該当する座標を、ということ?
telwin

2018/05/14 04:16 編集

M172,422l…この辺りが座標に関係してそうでしたので、「i」ではなく422の後ろの「l」の位置を取得し、その前のM172,422をM0,0にしようかと考えております。 位置情報はindexOfをかけることができるとのことですが、M172,422l-1,の部分をM0,0l-1,等に変えることはできますでしょうか?
telwin

2018/05/14 05:29

問う質問はオブジェクトだからエラーとなるということで解決しましたので、座標の変更については別で質問したいと思います。 ご回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問