リアルタイム共同リストの変更
回答ありがとうございます。要約する:
オブジェクトの Realtime Collaborative List でオブジェクトを検索する場合、indexOf は役に立たないようです。リスト内の 1 つのオブジェクトを変更する必要があり、indexOf が簡単な方法になると考えました。したがって、Collaborative リストを JavaScript 配列に変換し、配列を調べてオブジェクトを見つけ、インデックスを取得してから、Collaborative リスト内のオブジェクトを変更する必要があるようです。
window.gapi.load('drive-realtime', startdemo);
function startdemo() {
var i;
var index;
/* Create an in memory document for testing. */
var doc = gapi.drive.realtime.newInMemoryDocument();
var model = doc.getModel();
var mylist = model.createList();
mylist.clear();
var apple = {"type": "apple","identifier": "100"};
mylist.push(apple);
var orange = {"type": "orange","identifier": "101"};
mylist.push(orange);
var banana = {"type": "banana","identifier": "102"};
mylist.push(banana);
var grape = {"type": "grape","identifier": "103"};
mylist.push(grape);
/* Convert the collaborative list to a javascript array. */
var myarray = mylist.asArray();
/* Show what is in the array */
for ( i = 0; i < myarray.length; i++ )
{
console.log("Original List, i = " +i +", type = " +myarray[i].type +", identifier = " +myarray[i].identifier);
}
/* Find the index for our object. */
for ( i = 0; i < myarray.length; i++ )
{
if ( myarray[i].identifier === "103" )
{
index = i;
i = myarray.length;
}
}
console.log("index = " +index);
/* We will replace grape at identifier 103 with apricot. */
var apricot = {"type": "apricot","identifier": "103"};
mylist.set(index,apricot);
/* Get a new array to show the modification. */
myarray = mylist.asArray();
/* Now show what is in the list */
for ( i = 0; i < myarray.length; i++ )
{
console.log("Modified List, i = " +i +", type = " +myarray[i].type +", identifier = " +myarray[i].identifier);
}
}
<script type="text/javascript" src="https://apis.google.com/js/api.js"></script>
Google リアルタイム コラボレーション リストの変更
回答ありがとうございます。要約する:
オブジェクトの Realtime Collaborative List でオブジェクトを検索する場合、indexOf は役に立たないようです。リスト内の 1 つのオブジェクトを変更する必要があり、indexOf が簡単な方法になると考えました。したがって、Collaborative リストを JavaScript 配列に変換し、配列を調べてオブジェクトを見つけ、インデックスを取得してから、Collaborative リスト内のオブジェクトを変更する必要があるようです。
window.gapi.load('drive-realtime', startdemo);
function startdemo() {
var i;
var index;
/* Create an in memory document for testing. */
var doc = gapi.drive.realtime.newInMemoryDocument();
var model = doc.getModel();
var mylist = model.createList();
mylist.clear();
var apple = {"type": "apple","identifier": "100"};
mylist.push(apple);
var orange = {"type": "orange","identifier": "101"};
mylist.push(orange);
var banana = {"type": "banana","identifier": "102"};
mylist.push(banana);
var grape = {"type": "grape","identifier": "103"};
mylist.push(grape);
/* Convert the collaborative list to a javascript array. */
var myarray = mylist.asArray();
/* Show what is in the array */
for ( i = 0; i < myarray.length; i++ )
{
console.log("Original List, i = " +i +", type = " +myarray[i].type +", identifier = " +myarray[i].identifier);
}
/* Find the index for our object. */
for ( i = 0; i < myarray.length; i++ )
{
if ( myarray[i].identifier === "103" )
{
index = i;
i = myarray.length;
}
}
console.log("index = " +index);
/* We will replace grape at identifier 103 with apricot. */
var apricot = {"type": "apricot","identifier": "103"};
mylist.set(index,apricot);
/* Get a new array to show the modification. */
myarray = mylist.asArray();
/* Now show what is in the list */
for ( i = 0; i < myarray.length; i++ )
{
console.log("Modified List, i = " +i +", type = " +myarray[i].type +", identifier = " +myarray[i].identifier);
}
}
<script type="text/javascript" src="https://apis.google.com/js/api.js"></script>